[
  {
    "path": ".editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# Change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# We recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": ".gitattributes",
    "content": "* text=auto"
  },
  {
    "path": ".gitignore",
    "content": "node_modules\ndist\n.tmp\nbower_components\n#app/audio\n.publish"
  },
  {
    "path": ".jshintrc",
    "content": "{\n  \"node\": true,\n  \"browser\": true,\n  \"esnext\": true,\n  \"bitwise\": true,\n  \"camelcase\": true,\n  \"curly\": true,\n  \"eqeqeq\": true,\n  \"immed\": true,\n  \"indent\": 2,\n  \"latedef\": true,\n  \"newcap\": true,\n  \"noarg\": true,\n  \"quotmark\": \"single\",\n  \"undef\": true,\n  \"unused\": true,\n  \"strict\": true,\n  \"trailing\": true,\n  \"smarttabs\": true,\n  \"jquery\": true\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Daniel Stern, Azureda\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "<h1 align=center>\n<img src=\"logo/1024px.svg\" width=100%>\n</h1>\n\nNG-AUDIO\n===\n\nThe AngularJs Audio Module\n\nInstallation: `bower install angularjs-audio`\n\nDevelopment Instructions\n------\n1. Clone Git Repo\n2. Install dependencies with `npm install; bower install`;\n3. Install Gulp with `npm install -g gulp`;\n4. Run dev environment with `gulp`;\n\nDeployment\n-----\nTo deploy to `gh-pages`, call `gulp deploy`;\n\nTotal awesomeness for playing sounds. Project page here:\n\n##[AngularJs Audio Project Page](http://danielstern.github.io/ngAudio/)\n##[AngularJs Audio Documentation](http://danielstern.github.io/ngAudio/#/docs)\n\n\nRelease Notes v1.7.4\n\n- Updated Angular dependency to support 1.6.x\n\nRelease Notes v1.7.3\n\n- Add toFinish callback\n\nRelease Notes v1.7.2\n\n- Updated Angular dependency to support 1.5.x\n\nRelease Notes v1.7.1\n\n- Fixed https://github.com/danielstern/ngAudio/issues/85\n\nRelease Notes v1.7.0\n\n- Add trackTime filter\n- Add disablePreload option\n- Fixed bug where performance could not be changed after sound was loaded\n- Updated bower file and dependencies to use Bower for development environment deps using devDependencies\n- Added longer song in examles\n- automate to github page deploy\n- add stuff to Readme\n\nRelease Notes v1.6.2\n-------\n- add hover support\n- update gh-pages\n\nRelease Notes v1.5.0\n-------\n- add playback rate supprt\n\nRelease Notes v1.4.2\n-------\n- add unlock boolean to disable unlocking if desired\n- added performance var to let user tweak performance\n\n\nRelease Notes v1.4.0\n-------\n- several bug fixes. update version numbers\n\nRelease Notes v1.3.0\n-------\n- fixes audio on most mobile devices\n\nRelease Notes v1.2.1\n-------\n- removed depencency on bootstrap, jquery and ui-router\n- fix 0 volume bug\n\nRelease Notes v1.2\n-------\n\n- added unbind() which improves performance but loses read functionality\n- reduced file size\n- reduced interval cycle\n\nRelease Notes v1.0\n---------\n- Not backwards compatible with previous version. please check out the [AngularJs Audio Docs](http://danielstern.github.io/ngAudio/#/docs) since this is pretty much completely different\n- for previous version check out branch *v0.9*\n\nLicense\n-------\n<a href=http://opensource.org/licenses/MIT target=_blank>\nThe MIT License\n</a>\n\n<a  href=http://danielstern.ca/ target=_blank>\nCopyright (c) daniel stern, Azureda\n</a>\n"
  },
  {
    "path": "app/.htaccess",
    "content": "# Apache Server Configs v2.5.0 | MIT License\n# https://github.com/h5bp/server-configs-apache\n\n# (!) Using `.htaccess` files slows down Apache, therefore, if you have access\n# to the main server config file (usually called `httpd.conf`), you should add\n# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html.\n\n# ##############################################################################\n# # CROSS-ORIGIN RESOURCE SHARING (CORS)                                       #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | Cross-domain requests                                                      |\n# ------------------------------------------------------------------------------\n\n# Allow cross-origin requests.\n\n# http://enable-cors.org/\n# http://www.w3.org/TR/cors/\n# https://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity\n\n# <IfModule mod_headers.c>\n#     Header set Access-Control-Allow-Origin \"*\"\n# </IfModule>\n\n# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n# By default allow cross-origin access to web fonts.\n\n<IfModule mod_headers.c>\n    <FilesMatch \"\\.(eot|otf|tt[cf]|woff)$\">\n        Header set Access-Control-Allow-Origin \"*\"\n    </FilesMatch>\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | CORS-enabled images                                                        |\n# ------------------------------------------------------------------------------\n\n# Send the CORS header for images when browsers request it.\n\n# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html\n# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/\n\n<IfModule mod_setenvif.c>\n    <IfModule mod_headers.c>\n        <FilesMatch \"\\.(cur|gif|ico|jpe?g|png|svgz?|webp)$\">\n            SetEnvIf Origin \":\" IS_CORS\n            Header set Access-Control-Allow-Origin \"*\" env=IS_CORS\n        </FilesMatch>\n    </IfModule>\n</IfModule>\n\n\n# ##############################################################################\n# # ERRORS                                                                     #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | 404 error prevention                                                       |\n# ------------------------------------------------------------------------------\n\n# Disable the pattern matching based on filenames.\n\n# This setting prevents Apache from returning a 404 error as the result\n# of a rewrite when the directory with the same name does not exist.\n\n# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews\n# http://www.webmasterworld.com/apache/3808792.htm\n\nOptions -MultiViews\n\n# ------------------------------------------------------------------------------\n# | Custom error messages / pages                                              |\n# ------------------------------------------------------------------------------\n\n# Customize what Apache returns to the client in case of an error.\n# http://httpd.apache.org/docs/current/mod/core.html#errordocument\n\nErrorDocument 404 /404.html\n\n\n# ##############################################################################\n# # INTERNET EXPLORER                                                          #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | Better website experience                                                  |\n# ------------------------------------------------------------------------------\n\n# Force Internet Explorer to render pages in the highest available\n# mode in the various cases when it may not.\n# https://hsivonen.fi/doctype/#ie8\n\n<IfModule mod_headers.c>\n    Header set X-UA-Compatible \"IE=edge\"\n    # `mod_headers` cannot match based on the content-type, however, this header\n    # should be send only for HTML documents and not for the other resources\n    <FilesMatch \"\\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|txt|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$\">\n        Header unset X-UA-Compatible\n    </FilesMatch>\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | Cookie setting from iframes                                                |\n# ------------------------------------------------------------------------------\n\n# Allow cookies to be set from iframes in Internet Explorer.\n\n# http://msdn.microsoft.com/en-us/library/ms537343.aspx\n# http://www.w3.org/TR/2000/CR-P3P-20001215/\n\n# <IfModule mod_headers.c>\n#     Header set P3P \"policyref=\\\"/w3c/p3p.xml\\\", CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"\"\n# </IfModule>\n\n\n# ##############################################################################\n# # MEDIA TYPES AND CHARACTER ENCODINGS                                        #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | Media types                                                                |\n# ------------------------------------------------------------------------------\n\n# Serve resources with the proper media types (formerly known as MIME types).\n# http://www.iana.org/assignments/media-types/media-types.xhtml\n\n<IfModule mod_mime.c>\n\n  # Audio\n    AddType audio/mp4                                   f4a f4b m4a\n    AddType audio/ogg                                   oga ogg opus\n\n  # Data interchange\n    AddType application/json                            json map\n    AddType application/ld+json                         jsonld\n\n  # JavaScript\n    # Normalize to standard type.\n    # http://tools.ietf.org/html/rfc4329#section-7.2\n    AddType application/javascript                      js\n\n  # Manifest files\n\n    # If you are providing a web application manifest file (see the\n    # specification: http://w3c.github.io/manifest/), it is recommended\n    # that you serve it with the `application/manifest+json` media type.\n    #\n    # Because the web application manifest file doesn't have its own\n    # unique file extension, you can set its media type either by matching:\n    #\n    # 1) the exact location of the file (this can be done using a directive\n    #    such as `<Location>`, but it will NOT work in the `.htaccess` file,\n    #    so you will have to do it in the main server configuration file or\n    #    inside of a `<VirtualHost>` container)\n    #\n    #    e.g.:\n    #\n    #       <Location \"/.well-known/manifest.json\">\n    #           AddType application/manifest+json               json\n    #       </Location>\n    #\n    # 2) the filename (this can be problematic as you will need to ensure\n    #    that you don't have any other file with the same name as the one\n    #    you gave to your web application manifest file)\n    #\n    #    e.g.:\n    #\n    #       <Files \"manifest.json\">\n    #           AddType application/manifest+json               json\n    #       </Files>\n\n    AddType application/x-web-app-manifest+json         webapp\n    AddType text/cache-manifest                         appcache manifest\n\n  # Video\n    AddType video/mp4                                   f4v f4p m4v mp4\n    AddType video/ogg                                   ogv\n    AddType video/webm                                  webm\n    AddType video/x-flv                                 flv\n\n  # Web fonts\n    AddType application/font-woff                       woff\n    AddType application/vnd.ms-fontobject               eot\n\n    # Browsers usually ignore the font media types and simply sniff\n    # the bytes to figure out the font type.\n    # http://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern\n\n    # Chrome however, shows a warning if any other media types are used\n    # for the following two font types.\n\n    AddType application/x-font-ttf                      ttc ttf\n    AddType font/opentype                               otf\n\n    AddType image/svg+xml                               svg svgz\n\n  # Other\n    AddType application/octet-stream                    safariextz\n    AddType application/x-chrome-extension              crx\n    AddType application/x-opera-extension               oex\n    AddType application/x-xpinstall                     xpi\n    AddType application/xml                             atom rdf rss xml\n    AddType image/webp                                  webp\n    AddType image/x-icon                                cur ico\n    AddType text/vtt                                    vtt\n    AddType text/x-component                            htc\n    AddType text/x-vcard                                vcf\n\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | Character encodings                                                        |\n# ------------------------------------------------------------------------------\n\n# Set `UTF-8` as the character encoding for all resources served with\n# the media type of `text/html` or `text/plain`.\nAddDefaultCharset utf-8\n\n# Set `UTF-8` as the character encoding for other certain resources.\n<IfModule mod_mime.c>\n    AddCharset utf-8 .atom .css .js .json .jsonld .rss .vtt .webapp .xml\n</IfModule>\n\n\n# ##############################################################################\n# # URL REWRITES                                                               #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | Rewrite engine                                                             |\n# ------------------------------------------------------------------------------\n\n# Turn on the rewrite engine and enable the `FollowSymLinks` option (this is\n# necessary in order for the following directives to work).\n\n# If your web host doesn't allow the `FollowSymlinks` option, you may need to\n# comment it out and use `Options +SymLinksIfOwnerMatch`, but be aware of the\n# performance impact.\n# http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks\n\n# Also, some cloud hosting services require `RewriteBase` to be set.\n# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site\n\n<IfModule mod_rewrite.c>\n    Options +FollowSymlinks\n  # Options +SymLinksIfOwnerMatch\n    RewriteEngine On\n  # RewriteBase /\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | Suppressing / Forcing the `www.` at the beginning of URLs                  |\n# ------------------------------------------------------------------------------\n\n# The same content should never be available under two different URLs,\n# especially not with and without `www.` at the beginning. This can cause\n# SEO problems (duplicate content), and therefore, you should choose one\n# of the alternatives and redirect the other one.\n\n# By default `Option 1` (no `www.`) is activated.\n# http://no-www.org/faq.php?q=class_b\n\n# If you would prefer to use `Option 2`, just comment out all the lines\n# from `Option 1` and uncomment the ones from `Option 2`.\n\n# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!\n\n# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n# Option 1: rewrite www.example.com → example.com\n\n<IfModule mod_rewrite.c>\n    RewriteCond %{HTTPS} !=on\n    RewriteCond %{HTTP_HOST} ^www\\.(.+)$ [NC]\n    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]\n</IfModule>\n\n# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n# Option 2: rewrite example.com → www.example.com\n\n# Be aware that the following might not be a good idea if you use \"real\"\n# subdomains for certain parts of your website.\n\n# <IfModule mod_rewrite.c>\n#     RewriteCond %{HTTPS} !=on\n#     RewriteCond %{HTTP_HOST} !^www\\. [NC]\n#     RewriteCond %{SERVER_ADDR} !=127.0.0.1\n#     RewriteCond %{SERVER_ADDR} !=::1\n#     RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]\n# </IfModule>\n\n\n# ##############################################################################\n# # SECURITY                                                                   #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | Clickjacking                                                               |\n# ------------------------------------------------------------------------------\n\n# Protect website against clickjacking.\n\n# The example below sends the `X-Frame-Options` response header with the value\n# `DENY`, informing browsers not to display the web page content in any frame.\n\n# This might not be the best setting for everyone. You should read about the\n# other two possible values for `X-Frame-Options`: `SAMEORIGIN` & `ALLOW-FROM`.\n# http://tools.ietf.org/html/rfc7034#section-2.1\n\n# Keep in mind that while you could send the `X-Frame-Options` header for all\n# of your site’s pages, this has the potential downside that it forbids even\n# non-malicious framing of your content (e.g.: when users visit your site using\n# a Google Image Search results page).\n\n# Nonetheless, you should ensure that you send the `X-Frame-Options` header for\n# all pages that allow a user to make a state changing operation (e.g: pages\n# that contain one-click purchase links, checkout or bank-transfer confirmation\n# pages, pages that make permanent configuration changes, etc.).\n\n# Sending the `X-Frame-Options` header can also protect your website against\n# more than just clickjacking attacks: https://cure53.de/xfo-clickjacking.pdf.\n\n# http://tools.ietf.org/html/rfc7034\n# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx\n# https://www.owasp.org/index.php/Clickjacking\n\n# <IfModule mod_headers.c>\n#     Header set X-Frame-Options \"DENY\"\n#     <FilesMatch \"\\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|txt|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$\">\n#         Header unset X-Frame-Options\n#     </FilesMatch>\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | Content Security Policy (CSP)                                              |\n# ------------------------------------------------------------------------------\n\n# Mitigate the risk of cross-site scripting and other content-injection attacks.\n\n# This can be done by setting a `Content Security Policy` which whitelists\n# trusted sources of content for your website.\n\n# The example header below allows ONLY scripts that are loaded from the current\n# site's origin (no inline scripts, no CDN, etc). This almost certainly won't\n# work as-is for your site!\n\n# For more details on how to craft a reasonable policy for your site, read:\n# http://www.html5rocks.com/en/tutorials/security/content-security-policy/ (or\n# the specification: http://www.w3.org/TR/CSP11/). Also, to make things easier,\n# you can use an online CSP header generator such as: http://cspisawesome.com/.\n\n# <IfModule mod_headers.c>\n#     Header set Content-Security-Policy \"script-src 'self'; object-src 'self'\"\n#     <FilesMatch \"\\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|txt|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$\">\n#         Header unset Content-Security-Policy\n#     </FilesMatch>\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | File access                                                                |\n# ------------------------------------------------------------------------------\n\n# Block access to directories without a default document.\n\n# You should leave the following uncommented, as you shouldn't allow anyone to\n# surf through every directory on your server (which may includes rather private\n# places such as the CMS's directories).\n\n<IfModule mod_autoindex.c>\n    Options -Indexes\n</IfModule>\n\n# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n# Block access to all hidden files and directories with the exception of the\n# visible content from within the `/.well-known/` hidden directory.\n\n# These types of files usually contain user preferences or the preserved state\n# of an utility, and can include rather private places like, for example, the\n# `.git` or `.svn` directories.\n\n# The `/.well-known/` directory represents the standard (RFC 5785) path prefix\n# for \"well-known locations\" (e.g.: `/.well-known/manifest.json`,\n# `/.well-known/keybase.txt`), and therefore, access to its visible content\n# should not be blocked.\n\n# https://www.mnot.net/blog/2010/04/07/well-known\n# http://tools.ietf.org/html/rfc5785\n\n<IfModule mod_rewrite.c>\n    RewriteCond %{REQUEST_URI} \"!(^|/)\\.well-known/([^./]+./?)+$\" [NC]\n    RewriteCond %{SCRIPT_FILENAME} -d [OR]\n    RewriteCond %{SCRIPT_FILENAME} -f\n    RewriteRule \"(^|/)\\.\" - [F]\n</IfModule>\n\n# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n# Block access to files that can expose sensitive information.\n\n# By default, block access to backup and source files that may be left by some\n# text editors and can pose a security risk when anyone has access to them.\n# http://feross.org/cmsploit/\n\n# IMPORTANT: Update the `<FilesMatch>` regular expression from below to include\n# any files that might end up on your production server and can expose sensitive\n# information about your website. These files may include: configuration files,\n# files that contain metadata about the project (e.g.: project dependencies),\n# build scripts, etc..\n\n<FilesMatch \"(^#.*#|\\.(bak|conf|dist|fla|in[ci]|log|psd|sh|sql|sw[op])|~)$\">\n\n    # Apache < 2.3\n    <IfModule !mod_authz_core.c>\n        Order allow,deny\n        Deny from all\n        Satisfy All\n    </IfModule>\n\n    # Apache ≥ 2.3\n    <IfModule mod_authz_core.c>\n        Require all denied\n    </IfModule>\n\n</FilesMatch>\n\n# ------------------------------------------------------------------------------\n# | Reducing MIME type security risks                                          |\n# ------------------------------------------------------------------------------\n\n# Prevent some browsers from MIME-sniffing the response.\n\n# This reduces exposure to drive-by download attacks and cross-origin data\n# leaks, and should be left uncommented, especially if the web server is\n# serving user-uploaded content or content that could potentially be treated\n# as executable by the browser.\n\n# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa\n# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx\n# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx\n# http://mimesniff.spec.whatwg.org/\n\n<IfModule mod_headers.c>\n    Header set X-Content-Type-Options \"nosniff\"\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | Reflected Cross-Site Scripting (XSS) attacks                               |\n# ------------------------------------------------------------------------------\n\n# (1) Try to re-enable the Cross-Site Scripting (XSS) filter built into the\n#     most recent web browsers.\n#\n#     The filter is usually enabled by default, but in some cases it may be\n#     disabled by the user. However, in Internet Explorer for example, it can\n#     be re-enabled just by sending the `X-XSS-Protection` header with the\n#     value of `1`.\n#\n# (2) Prevent web browsers from rendering the web page if a potential reflected\n#     (a.k.a non-persistent) XSS attack is detected by the filter.\n#\n#     By default, if the filter is enabled and browsers detect a reflected\n#     XSS attack, they will attempt to block the attack by making the smallest\n#     possible modifications to the returned web page.\n#\n#     Unfortunately, in some browsers (e.g.: Internet Explorer), this default\n#     behavior may allow the XSS filter to be exploited, thereby, it's better\n#     to tell browsers to prevent the rendering of the page altogether, instead\n#     of attempting to modify it.\n#\n#     http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities\n#\n# IMPORTANT: Do not rely on the XSS filter to prevent XSS attacks! Ensure that\n# you are taking all possible measures to prevent XSS attacks, the most obvious\n# being: validating and sanitizing your site's inputs.\n#\n# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx\n# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx\n# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29\n\n# <IfModule mod_headers.c>\n#     #                           (1)    (2)\n#     Header set X-XSS-Protection \"1; mode=block\"\n#     <FilesMatch \"\\.(appcache|atom|crx|css|cur|eot|f4[abpv]|flv|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|tt[cf]|txt|vcf|vtt|webapp|web[mp]|woff|xml|xpi)$\">\n#         Header unset X-XSS-Protection\n#     </FilesMatch>\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | Secure Sockets Layer (SSL)                                                 |\n# ------------------------------------------------------------------------------\n\n# Rewrite secure requests properly in order to prevent SSL certificate warnings.\n# E.g.: prevent `https://www.example.com` when your certificate only allows\n# `https://secure.example.com`.\n\n# <IfModule mod_rewrite.c>\n#     RewriteCond %{SERVER_PORT} !^443\n#     RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L]\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | HTTP Strict Transport Security (HSTS)                                      |\n# ------------------------------------------------------------------------------\n\n# Force client-side SSL redirection.\n\n# If a user types `example.com` in his browser, the above rule will redirect\n# him to the secure version of the site. That still leaves a window of\n# opportunity (the initial HTTP connection) for an attacker to downgrade or\n# redirect the request.\n\n# The following header ensures that browser will ONLY connect to your server\n# via HTTPS, regardless of what the users type in the address bar.\n\n# http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1\n# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/\n\n# IMPORTANT: Remove the `includeSubDomains` optional directive if the subdomains\n# are not using HTTPS.\n\n# <IfModule mod_headers.c>\n#     Header set Strict-Transport-Security \"max-age=16070400; includeSubDomains\"\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | Server software information                                                |\n# ------------------------------------------------------------------------------\n\n# Avoid displaying the exact Apache version number, the description of the\n# generic OS-type and the information about Apache's compiled-in modules.\n\n# IMPORTANT: The `ServerTokens` directive will not work in the `.htaccess` file,\n# so you will need to add the following in the main server configuration file.\n\n# ServerTokens Prod\n\n\n# ##############################################################################\n# # WEB PERFORMANCE                                                            #\n# ##############################################################################\n\n# ------------------------------------------------------------------------------\n# | Compression                                                                |\n# ------------------------------------------------------------------------------\n\n<IfModule mod_deflate.c>\n\n    # Force compression for mangled headers.\n    # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html\n\n    <IfModule mod_setenvif.c>\n        <IfModule mod_headers.c>\n            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\\s*,?\\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding\n            RequestHeader append Accept-Encoding \"gzip,deflate\" env=HAVE_Accept-Encoding\n        </IfModule>\n    </IfModule>\n\n    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n    # Mark certain resources as been compressed in order to:\n    #\n    #  1) prevent Apache from recompressing them\n    #  2) ensure that they are served with the\n    #     `Content-Encoding: gzip` HTTP response header\n\n    <IfModule mod_mime.c>\n        AddEncoding gzip              svgz\n    </IfModule>\n\n    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n    # Compress all output labeled with one of the following media types.\n\n    # IMPORTANT: For Apache versions below 2.3.7 you don't need to enable\n    # `mod_filter` and can remove the `<IfModule mod_filter.c>` & `</IfModule>`\n    # lines as `AddOutputFilterByType` is still in the core directives.\n\n    <IfModule mod_filter.c>\n        AddOutputFilterByType DEFLATE application/atom+xml \\\n                                      application/javascript \\\n                                      application/json \\\n                                      application/ld+json \\\n                                      application/manifest+json \\\n                                      application/rss+xml \\\n                                      application/vnd.ms-fontobject \\\n                                      application/x-font-ttf \\\n                                      application/x-web-app-manifest+json \\\n                                      application/xhtml+xml \\\n                                      application/xml \\\n                                      font/opentype \\\n                                      image/svg+xml \\\n                                      image/x-icon \\\n                                      text/cache-manifest \\\n                                      text/css \\\n                                      text/html \\\n                                      text/plain \\\n                                      text/vtt \\\n                                      text/x-component \\\n                                      text/xml\n    </IfModule>\n\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | Content transformation                                                     |\n# ------------------------------------------------------------------------------\n\n# Prevent mobile network providers from modifying the website's content.\n# http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5.\n\n# <IfModule mod_headers.c>\n#     Header merge Cache-Control \"no-transform\"\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | ETags                                                                      |\n# ------------------------------------------------------------------------------\n\n# Remove `ETags` as resources are sent with far-future expires headers.\n# https://developer.yahoo.com/performance/rules.html#etags\n\n# `FileETag None` doesn't work in all cases.\n<IfModule mod_headers.c>\n    Header unset ETag\n</IfModule>\n\nFileETag None\n\n# ------------------------------------------------------------------------------\n# | Expires headers                                                            |\n# ------------------------------------------------------------------------------\n\n# Serve resources with far-future expires headers.\n\n# IMPORTANT: If you don't control versioning with filename-based cache\n# busting, consider lowering the cache times to something like one week.\n\n<IfModule mod_expires.c>\n\n    ExpiresActive on\n    ExpiresDefault                                      \"access plus 1 month\"\n\n  # CSS\n    ExpiresByType text/css                              \"access plus 1 year\"\n\n  # Data interchange\n    ExpiresByType application/json                      \"access plus 0 seconds\"\n    ExpiresByType application/ld+json                   \"access plus 0 seconds\"\n    ExpiresByType application/xml                       \"access plus 0 seconds\"\n    ExpiresByType text/xml                              \"access plus 0 seconds\"\n\n  # Favicon (cannot be renamed!) and cursor images\n    ExpiresByType image/x-icon                          \"access plus 1 week\"\n\n  # HTML components (HTCs)\n    ExpiresByType text/x-component                      \"access plus 1 month\"\n\n  # HTML\n    ExpiresByType text/html                             \"access plus 0 seconds\"\n\n  # JavaScript\n    ExpiresByType application/javascript                \"access plus 1 year\"\n\n  # Manifest files\n    ExpiresByType application/manifest+json             \"access plus 1 year\"\n    ExpiresByType application/x-web-app-manifest+json   \"access plus 0 seconds\"\n    ExpiresByType text/cache-manifest                   \"access plus 0 seconds\"\n\n  # Media\n    ExpiresByType audio/ogg                             \"access plus 1 month\"\n    ExpiresByType image/gif                             \"access plus 1 month\"\n    ExpiresByType image/jpeg                            \"access plus 1 month\"\n    ExpiresByType image/png                             \"access plus 1 month\"\n    ExpiresByType video/mp4                             \"access plus 1 month\"\n    ExpiresByType video/ogg                             \"access plus 1 month\"\n    ExpiresByType video/webm                            \"access plus 1 month\"\n\n  # Web feeds\n    ExpiresByType application/atom+xml                  \"access plus 1 hour\"\n    ExpiresByType application/rss+xml                   \"access plus 1 hour\"\n\n  # Web fonts\n    ExpiresByType application/font-woff                 \"access plus 1 month\"\n    ExpiresByType application/vnd.ms-fontobject         \"access plus 1 month\"\n    ExpiresByType application/x-font-ttf                \"access plus 1 month\"\n    ExpiresByType font/opentype                         \"access plus 1 month\"\n    ExpiresByType image/svg+xml                         \"access plus 1 month\"\n\n</IfModule>\n\n# ------------------------------------------------------------------------------\n# | Filename-based cache busting                                               |\n# ------------------------------------------------------------------------------\n\n# If you're not using a build process to manage your filename version revving,\n# you might want to consider enabling the following directives to route all\n# requests such as `/css/style.12345.css` to `/css/style.css`.\n\n# To understand why this is important and a better idea than `*.css?v231`, read:\n# http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/\n\n# <IfModule mod_rewrite.c>\n#     RewriteCond %{REQUEST_FILENAME} !-f\n#     RewriteRule ^(.+)\\.(\\d+)\\.(css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L]\n# </IfModule>\n\n# ------------------------------------------------------------------------------\n# | File concatenation                                                         |\n# ------------------------------------------------------------------------------\n\n# Allow concatenation from within specific files.\n\n# e.g.:\n#\n#   If you have the following lines in a file called, for example,\n#   `main.combined.js`:\n#\n#       <!--#include file=\"js/jquery.js\" -->\n#       <!--#include file=\"js/jquery.timer.js\" -->\n#\n#   Apache will replace those lines with the content of the specified files.\n\n# <IfModule mod_include.c>\n#\n#     <FilesMatch \"\\.combined\\.js$\">\n#         Options +Includes\n#         AddOutputFilterByType INCLUDES application/javascript\n#         SetOutputFilter INCLUDES\n#     </FilesMatch>\n#\n#     <FilesMatch \"\\.combined\\.css$\">\n#         Options +Includes\n#         AddOutputFilterByType INCLUDES text/css\n#         SetOutputFilter INCLUDES\n#     </FilesMatch>\n#\n# </IfModule>\n"
  },
  {
    "path": "app/404.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Page Not Found :(</title>\n    <style>\n      ::-moz-selection {\n        background: #b3d4fc;\n        text-shadow: none;\n      }\n\n      ::selection {\n        background: #b3d4fc;\n        text-shadow: none;\n      }\n\n      html {\n        padding: 30px 10px;\n        font-size: 20px;\n        line-height: 1.4;\n        color: #737373;\n        background: #f0f0f0;\n        -webkit-text-size-adjust: 100%;\n        -ms-text-size-adjust: 100%;\n      }\n\n      html,\n      input {\n        font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n      }\n\n      body {\n        max-width: 500px;\n        _width: 500px;\n        padding: 30px 20px 50px;\n        border: 1px solid #b3b3b3;\n        border-radius: 4px;\n        margin: 0 auto;\n        box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;\n        background: #fcfcfc;\n      }\n\n      h1 {\n        margin: 0 10px;\n        font-size: 50px;\n        text-align: center;\n      }\n\n      h1 span {\n        color: #bbb;\n      }\n\n      h3 {\n        margin: 1.5em 0 0.5em;\n      }\n\n      p {\n        margin: 1em 0;\n      }\n\n      ul {\n        padding: 0 0 0 40px;\n        margin: 1em 0;\n      }\n\n      .container {\n        max-width: 380px;\n        _width: 380px;\n        margin: 0 auto;\n      }\n\n      /* google search */\n\n      #goog-fixurl ul {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n      }\n\n      #goog-fixurl form {\n        margin: 0;\n      }\n\n      #goog-wm-qt,\n      #goog-wm-sb {\n        border: 1px solid #bbb;\n        font-size: 16px;\n        line-height: normal;\n        vertical-align: top;\n        color: #444;\n        border-radius: 2px;\n      }\n\n      #goog-wm-qt {\n        width: 220px;\n        height: 20px;\n        padding: 5px;\n        margin: 5px 10px 0 0;\n        box-shadow: inset 0 1px 1px #ccc;\n      }\n\n      #goog-wm-sb {\n        display: inline-block;\n        height: 32px;\n        padding: 0 10px;\n        margin: 5px 0 0;\n        white-space: nowrap;\n        cursor: pointer;\n        background-color: #f5f5f5;\n        background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n        background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n        background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n        background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1);\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        *overflow: visible;\n        *display: inline;\n        *zoom: 1;\n      }\n\n      #goog-wm-sb:hover,\n      #goog-wm-sb:focus {\n        border-color: #aaa;\n        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);\n        background-color: #f8f8f8;\n      }\n\n      #goog-wm-qt:hover,\n      #goog-wm-qt:focus {\n        border-color: #105cb6;\n        outline: 0;\n        color: #222;\n      }\n\n      input::-moz-focus-inner {\n        padding: 0;\n        border: 0;\n      }\n    </style>\n  </head>\n  <body>\n    <div class=\"container\">\n      <h1>Not found <span>:(</span></h1>\n      <p>Sorry, but the page you were trying to view does not exist.</p>\n      <p>It looks like this was the result of either:</p>\n      <ul>\n        <li>a mistyped address</li>\n        <li>an out-of-date link</li>\n      </ul>\n      <script>\n        var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;\n      </script>\n      <script src=\"//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js\"></script>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "app/_bower.json",
    "content": "{\n  \"name\": \"angularjs-audio\",\n  \"version\": \"0.0.2\",\n  \"homepage\": \"https://github.com/danielstern/ngAudio\",\n  \"description\": \"Directive for playing sounds\",\n  \"main\": \"angularjs.audio.js\",\n  \"keywords\": [\n    \"audio\",\n    \"sound\",\n    \"angular\",\n    \"angularjs\",\n    \"module\",\n    \"directive\"\n  ],\n  \"authors\": [\n    \"daniel stern\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \"bower_components\",\n    \"test\",\n    \"tests\"\n  ]\n}\n"
  },
  {
    "path": "app/angularjs.audio.js",
    "content": "'use strict';\nangular.module('ngAudio', [])\n  .constant('ngAudioUidLookup',(function(){\n\t  var uidLookup = {};\n\t  return uidLookup;\n  })())\n  .value('ngAudioUidGenerator',function (){\n\tvar domUid = '';\n    for (var i=0; i<8; i++)\n    {\n      domUid = domUid + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);\n    }\n    return domUid;//unique id persisting through module life\n  })\n.directive('ngAudio', ['$compile', '$q', 'ngAudio', function($compile, $q, ngAudio) {\n    return {\n        restrict: 'AEC',\n        scope: {\n            volume: '=',\n            start: '=',\n            currentTime: '=',\n            loop: '=',\n            clickPlay: '=',\n            disablePreload:'='\n            //ngAudio:'='\n        },\n        controller: ['$scope', '$attrs', '$element', '$timeout', function($scope, $attrs, $element, $timeout) {\n\n            /* Loads the sound from destination */\n            var audio;\n            function initSound(){\n                audio = ngAudio.load($attrs.ngAudio, $scope);\n                /* Add audio to local scope for modification with nested inputs */\n                $scope.$audio = audio;\n\n                /* Remove watching features for improved performance */\n                audio.unbind();\n            }\n\n            if (!$scope.disablePreload){\n                initSound();\n            }\n\n\n            $element.on('click', function() {\n                if ($scope.clickPlay === false) {\n                    return;\n                }\n\n                if ($scope.disablePreload){\n                    initSound();\n                }\n\n                /* iOS workaround: Call the play method directly in listener function */\n                audio.audio.play();\n\n                /* Set volume to $scope volume if it exists, or default to audio's current value */\n                audio.volume = $scope.volume || audio.volume;\n                audio.loop = $scope.loop;\n                audio.currentTime = $scope.start || 0;\n\n                /* Fixes a bug with Firefox (???) */\n                $timeout(function() {\n                    audio.play();\n                }, 5);\n            });\n\n            $element.on('$destroy', function() {\n                audio.destroy();\n            });\n        }]\n    };\n}])\n\n.directive('ngAudioHover', ['$compile', '$q', 'ngAudio', function($compile, $q, ngAudio) {\n    return {\n        restrict: 'AEC',\n        controller: ['$scope', '$attrs', '$element', '$timeout', function($scope, $attrs, $element, $timeout) {\n\n            var audio = ngAudio.load($attrs.ngAudioHover, $scope);\n\n            $element.on('mouseover rollover hover', function() {\n\n                /* iOS workaround: Call the play method directly in listener function */\n                audio.audio.play();\n\n                audio.volume = $attrs.volumeHover || audio.volume;\n                audio.loop = $attrs.loop;\n                audio.currentTime = $attrs.startHover || 0;\n\n            });\n\n            $element.on('$destroy', function() {\n                audio.destroy();\n            });\n        }]\n    };\n}])\n\n.service('localAudioFindingService', ['$q', function($q) {\n\n    this.find = function(id) {\n        var deferred = $q.defer();\n        var $sound = document.getElementById(id);\n        if ($sound) {\n            deferred.resolve($sound);\n        } else {\n            deferred.reject(id);\n        }\n\n        return deferred.promise;\n    };\n}])\n\n.service('remoteAudioFindingService', ['$q', 'ngAudioUidLookup','ngAudioUidGenerator', function($q, ngAudioUidLookup,ngAudioUidGenerator) {\n    this.find = function(url) {\n        var deferred = $q.defer();\n\t\tvar uId;\n\t\tuId = ngAudioUidLookup[url];\n\t\tif(uId == null){\n\t\t\tuId = ngAudioUidGenerator();\n\t\t\tngAudioUidLookup[url] = uId;\n\t\t}\n        var $sound = document.getElementById(uId);\n        if (!$sound)\n        {\n          var audioTag = document.createElement('audio');\n          audioTag.style.display = 'none';\n          audioTag.id = uId;\n          audioTag.src = url;\n          document.body.appendChild(audioTag);\n          $sound = document.getElementById(uId);\n          $sound.load();\n        }\n        else\n        {\n          $sound.pause();\n          $sound.src = url;\n          $sound.load();\n        }\n\n        if ($sound) {\n          deferred.resolve($sound);\n        } else {\n          deferred.reject(id);\n        }\n\n        return deferred.promise;\n\n    };\n}])\n\n.service('cleverAudioFindingService', ['$q', 'localAudioFindingService', 'remoteAudioFindingService', function($q, localAudioFindingService, remoteAudioFindingService) {\n    this.find = function(id) {\n        var deferred = $q.defer();\n\n        id = id.replace('|', '/');\n\n        localAudioFindingService.find(id)\n            .then(deferred.resolve, function() {\n                return remoteAudioFindingService.find(id);\n            })\n            .then(deferred.resolve, deferred.reject);\n\n        return deferred.promise;\n    };\n}])\n\n.value('ngAudioGlobals', {\n    muting: false,\n    performance: 25,\n    unlock: true,\n    volume:1\n})\n\n.factory('NgAudioObject', ['cleverAudioFindingService', '$rootScope', '$interval', '$timeout', 'ngAudioGlobals', function(cleverAudioFindingService, $rootScope, $interval, $timeout, ngAudioGlobals) {\n    return function(id, scope) {\n\n        function twiddle(){\n            try{\n              audio.play();\n              audio.pause();\n            }catch(e){}\n            window.removeEventListener(\"click\",twiddle);\n        }\n\n        var $audioWatch,\n            $intervalWatch,\n            $willPlay = false,\n            $willPause = false,\n            $willRestart = false,\n            $willChangePlaybackRate = false,\n            $newPlaybackRate = false,\n            $volumeToSet,\n            $looping,\n            $isMuting = false,\n            $observeProperties = true,\n            $destroyed = false,\n            $scope = scope || $rootScope,\n            audio,\n            audioObject = this;\n\n        this.id = id;\n        this.safeId = id.replace('/', '|');\n        this.loop = 0;\n\n        this.unbind = function() {\n            $observeProperties = false;\n        };\n\n        this.play = function() {\n            $willPlay = true;\n            return this;\n        };\n\n        var completeListeners = [];\n        this.complete = function(callback){\n            completeListeners.push(callback);\n        };\n\n        var toFinishListeners = [];\n        this.toFinish = function(secs, callback){\n            toFinishListeners.push({'secs': secs, 'callback': callback});\n        };\n\n        this.pause = function() {\n            $willPause = true;\n        };\n\n        this.restart = function() {\n            $willRestart = true;\n        };\n\n        this.stop = function() {\n            this.restart();\n        };\n\n        this.setVolume = function(volume) {\n            $volumeToSet = volume;\n        };\n\n        this.setPlaybackRate = function(rate) {\n            $newPlaybackRate = rate;\n            $willChangePlaybackRate = true;\n        };\n\n        this.setMuting = function(muting) {\n            $isMuting = muting;\n        };\n\n        this.setProgress = function(progress) {\n            if (audio && audio.duration && isFinite(progress)) {\n                audio.currentTime = audio.duration * progress;\n            }\n        };\n\n        this.setCurrentTime = function(currentTime) {\n            if (audio && audio.duration) {\n                audio.currentTime = currentTime;\n            }\n        };\n\n        this.destroy = $destroy;\n\n        $scope.$on('$destroy', function() {\n            $destroy();\n        });\n\n        function $destroy() {\n            if (!$destroyed) {\n                if (interval) {\n                    $interval.cancel(interval);\n                }\n                if ($intervalWatch) {\n                    $intervalWatch();\n                }\n                if ($audioWatch) {\n                    $audioWatch();\n                }\n                $destroyed = true;\n            }\n        }\n\n        this.destroyed = function() {\n          return $destroyed;\n        };\n\n        function $setWatch() {\n            if ($destroyed) {\n                return;\n            }\n            $audioWatch = $scope.$watch(function() {\n                return {\n                    volume: audioObject.volume,\n                    currentTime: audioObject.currentTime,\n                    progress: audioObject.progress,\n                    muting: audioObject.muting,\n                    loop: audioObject.loop,\n                    playbackRate: audioObject.playbackRate,\n                    globalVolume: ngAudioGlobals.volume\n                };\n            }, function(newValue, oldValue) {\n                //console.log(\"ngaudio watch callback for: \" + audioObject.id);\n                if (newValue.currentTime !== oldValue.currentTime) {\n                    audioObject.setCurrentTime(newValue.currentTime);\n                }\n\n                if (newValue.progress !== oldValue.progress) {\n                    audioObject.setProgress(newValue.progress);\n                }\n                if (newValue.volume !== oldValue.volume) {\n                    audioObject.setVolume(newValue.volume);\n                }\n\n                if (newValue.playbackRate !== oldValue.playbackRate) {\n                    audioObject.setPlaybackRate(newValue.playbackRate);\n                }\n\n                if (newValue.globalVolume !== oldValue.globalVolume) {\n                    if (newValue.globalVolume === 0) {\n                        audioObject.setMuting(true);\n                    } else {\n                        audioObject.setMuting(false);\n                        audioObject.setVolume(newValue.globalVolume);\n                    }\n                }\n\n\n\n                $looping = newValue.loop;\n\n                if (newValue.muting !== oldValue.muting) {\n                    audioObject.setMuting(newValue.muting);\n                }\n            }, true);\n        }\n\n        function audioLoadError() {\n            audioObject.error = true;\n        }\n\n        cleverAudioFindingService.find(id)\n            .then(function(nativeAudio) {\n                audio = nativeAudio;\n                if (ngAudioGlobals.unlock) {\n\n                    window.addEventListener(\"click\", twiddle);\n\n                    audio.addEventListener('playing', function() {\n                        window.removeEventListener(\"click\",twiddle);\n                    });\n\n                }\n\n                audio.addEventListener('error', audioLoadError);\n\n                audio.addEventListener('canplay', function() {\n                    audioObject.canPlay = true;\n                });\n\n            }, audioLoadError);\n\n\n        var interval = $interval(checkWatchers, ngAudioGlobals.performance);\n        $intervalWatch = $scope.$watch(function(){\n            return ngAudioGlobals.performance;\n        },function(){\n            $interval.cancel(interval);\n            interval = $interval(checkWatchers, ngAudioGlobals.performance);\n        });\n\n        function checkWatchers() {\n            if ($audioWatch) {\n                $audioWatch();\n            }\n            if (audio) {\n\n                if ($isMuting || ngAudioGlobals.muting) {\n                    audio.volume = 0;\n                } else {\n                    audio.volume = audioObject.volume !== undefined ? audioObject.volume : 1;\n                }\n\n                if ($willPlay) {\n                    audio.play();\n                    $willPlay = false;\n                }\n\n                if ($willRestart) {\n                    audio.pause();\n                    audio.currentTime = 0;\n                    $willRestart = false;\n                }\n\n                if ($willPause) {\n                    audio.pause();\n                    $willPause = false;\n                }\n\n                if ($willChangePlaybackRate) {\n                    audio.playbackRate = $newPlaybackRate;\n                    $willChangePlaybackRate = false;\n                }\n\n                if ($volumeToSet) {\n                    audio.volume = $volumeToSet;\n                    $volumeToSet = undefined;\n                }\n\n                if ($observeProperties) {\n                    audioObject.currentTime = audio.currentTime;\n                    audioObject.duration = audio.duration;\n                    audioObject.remaining = audio.duration - audio.currentTime;\n\t\t\t\t\taudioObject.progress = 0; //We set initial value to 0\n                    audioObject.paused = audio.paused;\n                    audioObject.src = audio.src;\n\n\t\t\t\t\t//After we check if progress is bigger than 0, and we set\n                    var tempProgress = (audio.currentTime / audio.duration).toPrecision();\n                    if(tempProgress  > 0 ){\n                      audioObject.progress = parseFloat(tempProgress);\n                    }\n\n                    if (audioObject.currentTime >= audioObject.duration) {\n                        completeListeners.forEach(function(listener){\n                            listener(audioObject);\n                        })\n                    }\n\n                    toFinishListeners.forEach(function(listener) {\n                        if ((audioObject.duration - audioObject.currentTime) <= listener.secs) {\n                            listener.callback(audioObject);\n                            toFinishListeners.shift();\n                        }\n                    });\n\n                    if ($looping && audioObject.currentTime >= audioObject.duration) {\n                        if ($looping !== true) {\n                            $looping--;\n                            audioObject.loop--;\n                            // if (!$looping) return;\n                        }\n                        audioObject.setCurrentTime(0);\n                        audioObject.play();\n\n                    }\n                }\n\n                if (!$isMuting && !ngAudioGlobals.muting) {\n                    audioObject.volume = audio.volume;\n                }\n\n                audioObject.audio = audio;\n            }\n\n            $setWatch();\n        }\n    };\n}])\n.service('ngAudio', ['NgAudioObject', 'ngAudioGlobals', function(NgAudioObject, ngAudioGlobals) {\n    this.play = function(id, scope) {\n\n        var audio = new NgAudioObject(id, scope);\n        audio.play();\n        return audio;\n    };\n\n    this.load = function(id, scope) {\n        return new NgAudioObject(id, scope);\n    };\n\n    this.mute = function() {\n        ngAudioGlobals.muting = true;\n    };\n\n    this.unmute = function() {\n        ngAudioGlobals.muting = false;\n    };\n\n    this.toggleMute = function() {\n        ngAudioGlobals.muting = !ngAudioGlobals.muting;\n    };\n\n    this.setUnlock = function(unlock) {\n      ngAudioGlobals.unlock = unlock;\n    };\n\n    this.setGlobalVolume = function(globalVolume) {\n      ngAudioGlobals.volume = globalVolume;\n    };\n}])\n.filter(\"trackTime\", function(){\n    /* Conveniently takes a number and returns the track time */\n\n    return function(input){\n\n        var totalSec = Math.floor(input | 0);\n\n        var output = \"\";\n        var hours = 0;\n        var minutes = 0;\n        var seconds = 0;\n\n        if (totalSec > 3599) {\n\n            hours = Math.floor(totalSec / 3600);\n            minutes = Math.floor((totalSec - (hours * 3600)) / 60);\n            seconds = (totalSec - ((minutes * 60) + (hours * 3600)));\n\n            if (hours.toString().length == 1) {\n                hours = \"0\" + (Math.floor(totalSec / 3600)).toString();\n            }\n\n            if (minutes.toString().length == 1) {\n                minutes = \"0\" + (Math.floor((totalSec - (hours * 3600)) / 60)).toString();\n            }\n\n            if (seconds.toString().length == 1) {\n                seconds = \"0\" + (totalSec - ((minutes * 60) + (hours * 3600))).toString();\n            }\n\n            output = hours + \":\" + minutes + \":\" + seconds;\n\n        } else if (totalSec > 59) {\n\n            minutes = Math.floor(totalSec / 60);\n            seconds = totalSec - (minutes * 60);\n\n            if (minutes.toString().length == 1) {\n                 minutes = \"0\" + (Math.floor(totalSec / 60)).toString();\n            }\n\n            if (seconds.toString().length == 1) {\n                 seconds = \"0\" + (totalSec - (minutes * 60)).toString();\n            }\n\n            output = minutes + \":\" + seconds;\n\n        } else {\n\n            seconds = totalSec;\n\n            if (seconds.toString().length == 1) {\n                seconds = \"0\" + (totalSec).toString();\n            }\n\n            output = totalSec + \"s\";\n\n        }\n\n        if (typeof Number.isNaN === \"function\" && Number.isNaN(output)){\n            debugger;\n        }\n\n        return output;\n    }\n});\n"
  },
  {
    "path": "app/index.html",
    "content": "<!doctype html>\n<html class=\"no-js\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>AngularJs Audio</title>\n    <meta name=\"description\" content=\"\">\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <link rel=\"shortcut icon\" href=\"/favicon.ico\">\n    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->\n    <!-- build:css(.) styles/vendor.css -->\n    <!-- bower:css -->\n    <!-- endbower -->\n    <!-- endbuild -->\n    <!-- build:css(.tmp) styles/main.css -->\n    <link rel=\"stylesheet\" href=\"styles/main.css\">\n    <!-- endbuild -->\n    <link rel=\"stylesheet\" href=\"bower_components/bootstrap/dist/css/bootstrap.css\" />\n</head>\n\n<body>\n\n    <body ng-app=ngAudioDemo ng-controller=Demo class='container'>\n\n        <!-- Static navbar -->\n        <div class=\"navbar navbar-default\" role=\"navigation\">\n            <div class=\"container-fluid\">\n                <div class=\"navbar-header\">\n                    <a ng-audio='audio/button-2.mp3' ng-audio-hover='audio/button-4.mp3' volume-hover=0.2 class=\"navbar-brand\" ui-sref='home'>ngAudio</a>\n                </div>\n                <div>\n                    <ul class=\"nav navbar-nav navbar-right\">\n                        <li ng-audio='audio/button-3.mp3' ng-audio-hover='audio/button-4.mp3' volume-hover=0.2 ui-sref-active='active'><a ui-sref='docs'>Docs</a>\n                        </li>\n                        <li ng-audio='audio/button-1.mp3' ng-audio-hover='audio/button-4.mp3' volume-hover=0.2 ui-sref-active='active'><a ui-sref='audio.detail({id:\"audio|song1.mp3\"})'>Demo #1</a>\n                        </li>\n                        <!-- <li class=\"dropdown\">\n                            <a ui-sref='audio' ui-sref-active='active' class=\"dropdown-toggle\" data-toggle=\"dropdown\">Sounds <span class=\"caret\"></span></a>\n                            <ul class=\"dropdown-menu\" role=\"menu\">\n                                <li ng-audio='audio/button-1.mp3' ng-repeat='audio in audios' ui-sref-active=\"active\"><a ui-sref='audio.detail({id:audio.safeId})'>{{audio.id}}</a>\n                                </li>\n                            </ul>\n                        </li> -->\n                        <li ng-audio='audio/button-2.mp3' ng-audio-hover='audio/button-4.mp3' volume-hover=0.2><a href='https://github.com/danielstern/ngAudio' target=_blank>Github</a>\n                        </li>\n                    </ul>\n\n                </div>\n                <!--/.nav-collapse -->\n            </div>\n            <!--/.container-fluid -->\n        </div>\n\n\n\n        <div ui-view></div>\n\n    </body>\n\n\n\n    <!-- build:js(.) scripts/vendor.js -->\n    <!-- bower:js -->\n    <script src=\"bower_components/angular/angular.js\"></script>\n    <!-- endbower -->\n    <!-- endbuild -->\n    <script src=\"bower_components/jquery/dist/jquery.js\"></script>\n    <script src=\"bower_components/bootstrap/dist/js/bootstrap.js\"></script>\n\n    <script src=\"bower_components/ui-router/release/angular-ui-router.min.js\"></script>\n\n    <script src=\"angularjs.audio.js\"></script>\n\n    <!-- build:js({app,.tmp}) scripts/main.js -->\n    <script src=\"scripts/main.js\"></script>\n    <!-- endbuild -->\n</body>\n\n</html>\n\n\n<script>\n</script>\n"
  },
  {
    "path": "app/partial/audioEditView.html",
    "content": "<div class=col-md-offset-4>\n    <h3>\n        {{audio.id}} &ndash; {{audio.currentTime | trackTime}}\n        <!-- {{audio}} -->\n    </h3>\n    <p ng-if=audio.error>\n        Error playing this sound.\n    </p>\n    <p ng-if=!audio.canPlay>\n        Sound is loading, or you are viewing this on a device that doesn't support the <code>canPlay</code> property.\n    </p>\n</div>\n<div ng-if='!audio.error' class='form-group col-md-8 col-md-offset-4'>\n    <form class=form-inline>\n        <div class='form-group col-xs-9'>\n            <button class='btn btn-primary' ng-click='audio.paused ? audio.play() : audio.pause()'>{{audio.paused ? \"Play\" : \"Pause\" }}</button>\n            <button class='btn btn-danger' ng-click='audio.restart()'>Stop</button>\n            <button class='btn btn-neutral' ng-click='audio.muting = !audio.muting'>{{audio.muting ? \"Unmute\" : \"Mute\" }}</button>\n            <button class='btn btn-neutral' ng-click='audio.destroy()'>{{audio.destroyed() ? \"Destroyed\" : \"Destroy\" }}</button>\n            <!-- <div class='checkbox pull-right'>\n                <label>\n                    <input type=checkbox ng-model=audio.loop ng-click='audio.loop = !audio.loop'>Loop\n                </label>\n\n            </div> -->\n        </div>\n\n            <div class=\"form-group col-xs-3\">\n              <label>Loop\n                <select  class='form-control input-small select' ng-model=audio.loop ng-options=\"value for value in [true,0,1,2,3,4,5]\"></select>\n              </label>\n            </div>\n\n            <!-- <label> -->\n                <!-- Loop -->\n            <!-- </label> -->\n\n\n    </form>\n</div>\n\n<form class='form-horizontal'>\n    <div class=\"form-group\">\n        <label class=\"col-md-4 control-label\" for=\"prependedtext\">Current Time</label>\n        <div class=\"col-md-8\">\n            <div class=\"input-group\">\n                <span class=\"input-group-addon\">Current Time</span>\n                <input class='form-control' type=text ng-model='audio.currentTime'>\n            </div>\n            <p class=\"help-block\">\n                <strong>audioObject.currentTime:</strong>The current time of the object in seconds\n            </p>\n        </div>\n    </div>\n    <div class=\"form-group\">\n        <label class=\"col-md-4 control-label\" for=\"prependedtext\">Progress</label>\n        <div class=\"col-md-8\">\n            <div class=\"input-group\">\n                <span class=\"input-group-addon\">Progress</span>\n                <input class='form-control' type=range min=0 max=1 step=0.01 ng-model='audio.progress'>\n            </div>\n            <p class=\"help-block\">\n                <strong>audioObject.progress:</strong>The progress of the object as a percentage (0-1);\n            </p>\n        </div>\n    </div>\n    <div class=\"form-group\">\n        <label class=\"col-md-4 control-label\" for=\"prependedtext\">Volume</label>\n        <div class=\"col-md-8\">\n            <div class=\"input-group\">\n                <span class=\"input-group-addon\">Volume</span>\n                <input class='form-control' type=range min=0 max=1 step=0.01 ng-model='audio.volume'>\n            </div>\n            <strong>audioObject.volume:</strong>The volume of the object as a percentage (0-1);\n        </div>\n    </div>\n    <div class=\"form-group\">\n        <label class=\"col-md-4 control-label\" for=\"prependedtext\">Playback Rate</label>\n        <div class=\"col-md-8\">\n            <div class=\"input-group\">\n                <span class=\"input-group-addon\">Playback Rate</span>\n                <input class='form-control' type=range min=0.5 max=1.5 step=0.01 ng-model='audio.playbackRate'>\n            </div>\n            <strong>audioObject.playbackRate:</strong>The speed the audio plays at. (0.5 - 1.5);\n        </div>\n    </div>\n</form>\n\n<!-- <div class='hidden-sm' ng-include=\"'partial/audioTableView.html'\"></div> -->\n"
  },
  {
    "path": "app/partial/audioFullView.html",
    "content": "<div class='col-md-3'>\n    <!-- <div ng-include='\"partial/audioEditView.html\"'></div> -->\n    <!-- <div ng-repeat=\"audio in audios\"> -->\n    <ul class='nav nav-stacked nav-pills'>\n\t\t<li  ng-audio='audio/button-2.mp3' ng-audio-hover='audio/button-4.mp3' volume-hover=0.2 ng-repeat='audio in audios' ui-sref-active=\"active\"><a ui-sref='audio.detail({id:audio.safeId})'>{{audio.id}}</a></li>\n\t</ul>\n    <!-- </div> -->\n</div>\n<!-- <div class='col-md-3 hidden-xs' ng-include=\"'partial/audioTableView.html'\"></div> -->\n<div ui-view  class='col-md-9'></div>\n"
  },
  {
    "path": "app/partial/audioTableView.html",
    "content": "<table class='table table-striped table-bordered table-condensed'>\n    <tr>\n        <td>\n            src\n        </td>\n        <td>\n            {{audio.src}}\n        </td>\n    </tr>\n    <tr>\n        <td>\n            Current Time\n        </td>\n        <td>\n            {{audio.currentTime | number : 2}}\n        </td>\n    </tr>\n    <tr>\n        <td>Duration</td>\n        <td>{{audio.duration | number : 2}}</td>\n    </tr>\n    <tr>\n        <td>Progress (%)</td>\n        <td>{{audio.progress | number : 1}}</td>\n    </tr>\n    <tr>\n        <td>Volume</td>\n        <td>{{audio.volume | number : 1}}</td>\n    </tr>\n</table>\n"
  },
  {
    "path": "app/partial/home.html",
    "content": "<div class='jumbotron'>\n    <h1>ngAudio</h1>\n    <p>The AngularJs audio tool</p>\n</div>\n\n<h2>A fast and AngularJs way of handling audio</h2>\n<p>\n\tngAudio is a lightweight package of directives and services that treat sound in an AngularJs way.\n\t<li>Adjust volume and time with getters and setters</li>\n\t<li>Attach easily to the scope</li>\n\t<li>Preloads sounds automatically</li>\n\t<li>Falls back to native HTML5 when possible</li>\n</p>\n<div ng-include=\"'partial/audioEditView.html'\"></div>\n\n<h2>What can you use AngularJs audio for</h2>\n<p>\n\tAngularJs audio is designed to be <em>powerful and awesome,</em> so use it everywhere, even in projects where you hadn't even considered using sound in the first place. Its directives make sound a breeze.\n\t<ul>\n\t\t<li>use as a base for an audio player</li>\n\t\t<li>add very fast and easy sounds to your ui</li>\n\t\t<li>just have better control over sounds</li>\n\t\t<li>avoid jquery</li>\n\t</ul>\n</p>\n"
  },
  {
    "path": "app/partial/ngAudioDocs.html",
    "content": "<div class='jumbotron'>\n    <h2>ngAudio Documentation</h2>\n</div>\n<h3>Installation</h3>\n<p>Install the package (bower is the recommended way.)</p>\n<code><pre>bower install angularjs-audio --save</pre>\n</code>\n<p>Require the module in your project.</p>\n<code><pre>angular.module('yourModule',['ngAudio'])</pre>\n</code>\n\n<h3>Usage</h3>\n<p>\n\n</p>\n<p>Audio is loaded through the\n    <em>load</em>method of the\n    <strong>ngAudio service</strong>. The load method returns an\n    <strong>NgAudioObject</strong>object.</p>\n\n<code>\n    <pre>\nangular.module('yourModule', ['ngAudio'])\n.controller('yourController', ['$scope', 'ngAudio', function ($scope, ngAudio) {\n    $scope.sound = ngAudio.load('sounds/mySound.mp3'); // returns NgAudioObject\n})\n    </pre>\n</code>\n\n<article>\n    <h4>ngAudio Service Reference</h4>\n    <table class=\"table table-striped table-bordered table-condensed\">\n        <tr>\n            <td>load(path:String):NgAudioObject</td>\n            <td>\n                <p>\n                    Takes a string and returns an audio object. The audio object can be used before the sound is loaded.\n                </p>\n                <p>\n                    Tries first to find an embedded native audio tag with the same ID as the string passed. Tries secondly to load it remotely as a URL. If it fails, an error property will be set to true.\n                </p>\n            </td>\n        </tr>\n        <tr>\n            <td>play(path:String):NgAudioObject</td>\n            <td>Shortcut to load a sound and play it right away. Not recommended for remote URLs as there will be a delay.</td>\n        </tr>\n        <tr>\n            <td>mute()</td>\n            <td>Shortcut to globally mute all sounds loaded this way. Global mute is from the sounds individual mute and can't be unmuted except globally.</td>\n        </tr>\n        <tr>\n            <td>unmute()</td>\n            <td>Globally unmutes all the sounds.</td>\n        </tr>\n        <tr>\n            <td>performance : Number</td>\n            <td>Changes the interval that AngularJs Audio observes the audio. A lower number here will improve responsiveness at the cost of processor power.</td>\n        </tr>\n        <tr>\n            <td>unlock = true : Boolean</td>\n            <td>If true, attempts to 'unlock' audio files so that they work on mobile devices. Disabling this can break this library in mobile!</td>\n        </tr>\n    </table>\n</article>\n<article>\n    <h4>NgAudioObject Reference</h4>\n    <p>NgAudioObject can be used to control a sound file. It can be attached to the\n        <strong>$scope.</strong>\n    </p>\n    <table class=\"table table-striped table-bordered table-condensed\">\n        <tr>\n            <td>constructor(pathOrId:String)</td>\n            <td>Returns an audio object which automatically loads an object,\n                <ul>\n                    <li>which is found at the path specified</li>\n                    <li>or on the DOM in an audio element with an ID the same as specified</li>\n                </ul>\n\n            </td>\n        </tr>\n        <tr>\n            <td>play()</td>\n            <td>Plays the sound.</td>\n        </tr>\n        <tr>\n            <td>pause()</td>\n            <td>Pauses the sound.</td>\n        </tr>\n        <tr>\n            <td>stop()</td>\n            <td>Restarts the sound.\n                <em>alias restart</em>\n            </td>\n        </tr>\n        <tr>\n            <td>unbind()</td>\n            <td><p>\n\n            Removes all the listeners from the audio object, improving performance, but disabling most read functionality.\n            </p>\n            <p>\n                For example, setting progress and currentTime will still work, but reading them will not return the correct value.\n            </p>\n            </td>\n        </tr>\n        <tr>\n            <td>currentTime:number</td>\n            <td>\n                <p>\n                    Read - reads the current time of the sound in seconds.\n                </p>\n                <p>Write - sets the current time of the sound.</p>\n            </td>\n        </tr>\n        <tr>\n            <td>volume:number</td>\n            <td>\n                <p>\n                    Read - reads the volume of the sound from 0 - 1.\n                </p>\n                <p>Write - sets the volume of the sound.</p>\n            </td>\n        </tr>\n        <tr>\n            <td>progress:number</td>\n            <td>\n                <p>\n                    Read - returns the playthrough progress of the sound from 0 - 1.\n                </p>\n                <p>Write - sets the current time of the of the sound as a percentage from 0 to 1.</p>\n            </td>\n        </tr>\n        <tr>\n            <td>playbackRate:number</td>\n            <td>\n                <p>\n                    Read - returns the speed that the sound is playing at, typically from 0.5 - 1.5.\n                </p>\n                <p>Write - sets the audio speed. Values between 0.5 and 1.5 are recommended.</p>\n            </td>\n        </tr>\n        <tr>\n            <td>muting:boolean</td>\n            <td>\n                <p>\n                    Read - whether or not the sound is muting.\n                </p>\n                <p>Write - set a boolean to mute or unmute the sound.</p>\n                <p>When a sound is muting, its will make no noise, but it can be played, be paused, and have its volume adjusted.</p>\n            </td>\n        </tr>\n        <tr>\n            <td>loop:number or true</td>\n            <td>\n                <p>\n                    Read - the number of times the audio will play again after it's done playing, or true if it will repeat indefinitely\n                </p>\n                <p>Write - setting a number will cause the audio to play that many more times after finishing. Setting the value to true will cause the sound to loop indefinitely.</p>\n            </td>\n        </tr>\n        <tr>\n            <td>remaining:number (read only)</td>\n            <td>\n                <p>\n                    Time remaining in seconds.\n                </p>\n            </td>\n        </tr>\n        <tr>\n            <td>audio: NativeHTMLAudio (read only)</td>\n            <td>\n                <p>\n                    Reference to the native audio file used by the object.\n                </p>\n            </td>\n        </tr>\n        <tr>\n            <td>canPlay:boolean (read only)</td>\n            <td>\n                <p>\n                    Is true if the sound is loaded enough to play.\n                    <em>This is not well supported in all browsers.</em>\n                </p>\n            </td>\n        </tr>\n        <tr>\n            <td>error:boolean (read only)</td>\n            <td>\n                <p>\n                    Is true if the sound could not be loaded.\n                </p>\n            </td>\n        </tr>\n        <tr>\n          <td>destroyed:boolean (read only)</td>\n          <td>\n            <p>\n              Is true if the NgAudioObject has been destroyed.\n            </p>\n          </td>\n        </tr>\n    </table>\n</article>\n<article>\n    <h3>\n        ngAudio Directive\n    </h3>\n    <p>\n        <strong>ngAudio</strong> can be applied as a directive on any element to have it play a sound when clicked. Sounds are preloaded as soon as all other elements on the page are resolved.\n    </p>\n    <code>\n        <pre>&lt;button ng-audio=&quot;sounds/mySound.mp3&quot; volume=&quot;0.5&quot; start=&quot;0.2&quot;&gt;Click me&lt;/button&gt;</pre>\n    </code>\n\n    <table class=\"table table-striped table-bordered table-condensed\">\n        <tr>\n            <td>ngAudio</td>\n            <td>\n                <p>\n                    Takes a string and creates a new object with\n                    <strong>ngAudio.load()</strong>\n                </p>\n            </td>\n        </tr>\n        <tr>\n            <td>volume</td>\n            <td>Specifies a volume for the sound to play.</td>\n        </tr>\n        <tr>\n            <td>start</td>\n            <td>Specifies a start time for the sound.</td>\n        </tr>\n        <tr>\n            <td>loop</td>\n            <td>Set a number to repeat a sound that many times, or true to repeat indefinitely.</td>\n        </tr>\n        <tr>\n            <td>disablePreload</td>\n            <td>If enabled, will not preload the audio track. Track will only begin loading at the same time \"play\" is called.</td>\n        </tr>\n\n    </table>\n</article>\n\n<article>\n    <h3>\n        ngAudioHover Directive\n    </h3>\n    <p>\n        <strong>ngAudio-hover</strong> is like ngAudio but for hovering, and can be applied as a directive on any element to have it play a sound when it is hovered over. Sounds are preloaded as soon as all other elements on the page are resolved.\n    </p>\n    <code>\n        <pre>&lt;button ng-audio-hover=&quot;sounds/mySound.mp3&quot; volume-hover=&quot;0.5&quot; start-hover=&quot;0.2&quot;&gt;Click me&lt;/button&gt;</pre>\n    </code>\n\n    <table class=\"table table-striped table-bordered table-condensed\">\n        <tr>\n            <td>ng-audio-hover</td>\n            <td>\n                <p>\n                    Takes a string and creates a new object with\n                    <strong>ngAudio.load()</strong>\n                </p>\n            </td>\n        </tr>\n        <tr>\n            <td>volume-hover</td>\n            <td>Specifies a volume for the sound to play.</td>\n        </tr>\n        <tr>\n            <td>start-hover</td>\n            <td>Specifies a start time for the sound.</td>\n        </tr>\n        <tr>\n            <td>loop-hover</td>\n            <td>Set a number to repeat a sound that many times, or true to repeat indefinitely.</td>\n        </tr>\n\n    </table>\n</article>\n<article>\n    <h3>\n        Filters\n    </h3>\n    <h4>\n        Track Time Filter\n    </h4>\n    <p>\n        Takes the currentTime of the audio track and returns a human-readable time output, like what you would see in an MP3 player.\n    </p>\n    <h5>Example Usage</h5>\n    <code>\n        <pre ng-non-bindable>\n&lt;div&gt;Current Time: &#123;&#123;audio.currentTime | trackTime&#125;&#125;&lt;/div&gt;    </pre></code>\n\n    <h5>Example Table</h5>\n    <table class=\"table table-striped table-bordered table-condensed\">\n        <thead>\n            <th>\n                currentTime Value\n            </th>\n            <th>\n                trackTime output\n            </th>\n        </thead>\n        <tr>\n            <td>\n                3.6\n            </td>\n            <td>\n                3s\n            </td>\n        </tr>\n        <tr>\n            <td>\n                106\n            </td>\n            <td>\n                01:16\n            </td>\n        </tr>\n        <tr>\n            <td>\n                3675\n            </td>\n            <td>\n                01:01:15\n            </td>\n        </tr>\n    </table>\n</article>\n<article>\n    <h3>\n        AngularJs Audio Example\n    </h3>\n    <code>\n        <pre>\n<!-- <div ng-controller='audioDemo'>\n<button ng-click='audio.paused ? audio.play() : audio.pause()'>{{audio.paused ? \"Play\" : \"Pause\" }}</button>\n<button ng-click='audio.restart()'>Stop</button>\n<button ng-click='audio.muting = !audio.muting'>{{audio.muting ? \"Unmute\" : \"Mute\" }}</button>\n\n\n\n\n<label>Current Time</label>\n<input class='form-control' type=text ng-model='audio.currentTime'>\n<label>Volume</label>\n<input class='form-control' type=range min=0 max=1 step=0.01 ng-model='audio.volume'>\n</div>\n<script>\nangular.module('myModule',['ngAudio'])\n.controller('audioDemo',function($scope,ngAudio){\n\t$scope.audio = ngAudio.load('mySound.wav');\n})\n</script>\n -->\n\n &lt;div ng-controller=&#39;audioDemo&#39;&gt;\n &lt;button ng-click=&#39;audio.paused ? audio.play() : audio.pause()&#39;&gt;{{audio.paused ? &quot;Play&quot; : &quot;Pause&quot; }}&lt;/button&gt;\n &lt;button ng-click=&#39;audio.restart()&#39;&gt;Stop&lt;/button&gt;\n &lt;button ng-click=&#39;audio.muting = !audio.muting&#39;&gt;{{audio.muting ? &quot;Unmute&quot; : &quot;Mute&quot; }}&lt;/button&gt;\n\n &lt;label&gt;Current Time&lt;/label&gt;\n &lt;input class=&#39;form-control&#39; type=text ng-model=&#39;audio.currentTime&#39;&gt;\n &lt;label&gt;Volume&lt;/label&gt;\n &lt;input class=&#39;form-control&#39; type=range min=0 max=1 step=0.01 ng-model=&#39;audio.volume&#39;&gt;\n &lt;/div&gt;\n &lt;script&gt;\n angular.module(&#39;myModule&#39;,[&#39;ngAudio&#39;])\n .controller(&#39;audioDemo&#39;,function($scope,ngAudio){\n \t$scope.audio = ngAudio.load(&#39;mySound.wav&#39;);\n })\n &lt;/script&gt;\n\t\t</pre>\n    </code>\n</article>\n"
  },
  {
    "path": "app/robots.txt",
    "content": "# robotstxt.org/\n\nUser-agent: *\n"
  },
  {
    "path": "app/scripts/main.js",
    "content": "angular.module(\"ngAudioDemo\", ['ngAudio', 'ui.router'])\n    .config(function($urlRouterProvider, $stateProvider) {\n        // $urlRouterProvider\n        $stateProvider\n            .state(\"home\", {\n                url: \"/\",\n                templateUrl: \"partial/home.html\",\n                controller: function($scope, ngAudio, songRemember) {\n                    var url = 'audio/song1.mp3';\n                    \n                    if (songRemember[url]) {\n                        $scope.audio = songRemember[url];\n                    } else {\n                        $scope.audio = ngAudio.load(url);\n                        $scope.audio.volume = 0.8;\n                        songRemember[url] = $scope.audio;\n\n                        \n                    }\n                }\n            })\n\n        .state('docs', {\n            url: \"/docs\",\n            templateUrl: \"partial/ngAudioDocs.html\",\n        })\n\n        .state(\"audio\", {\n            url: \"/audio\",\n            templateUrl: \"partial/audioFullView.html\",\n\n        })\n\n        .state('audio.detail', {\n            url: \"/:id\",\n            templateUrl: \"partial/audioEditView.html\",\n            controller: function($stateParams, $scope, ngAudio,songRemember) {\n                var url = $stateParams.id;\n\n                if (songRemember[url]) {\n                    $scope.audio = songRemember[url];\n                } else {\n                    $scope.audio = ngAudio.load(url);\n                    $scope.audio.volume = 0.8;\n                    songRemember[url] = $scope.audio;                    \n                }\n            }\n        })\n\n\n\n        $urlRouterProvider.otherwise('/');\n\n\n    })\n.value(\"songRemember\",{})\n    .controller('Demo', function($scope, ngAudio) {\n        $scope.audios = [\n            ngAudio.load('audio/song1.mp3'),\n            ngAudio.load('audio/song2.mp3'),\n            ngAudio.load('audio/song3.mp3'),\n            ngAudio.load('audio/daniel_stern_robot_hitchiker.mp3'),\n        ]\n    })\n"
  },
  {
    "path": "app/styles/main.css",
    "content": ".browsehappy {\n  margin: 0.2em 0;\n  background: #ccc;\n  color: #000;\n  padding: 0.2em 0;\n}\n\n/* Space out content a bit */\nbody {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n\n/* Everything but the jumbotron gets side spacing for mobile first views */\n.header,\n.marketing,\n.footer {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n\n/* Custom page header */\n.header {\n  border-bottom: 1px solid #e5e5e5;\n}\n\n/* Make the masthead heading the same height as the navigation */\n.header h3 {\n  margin-top: 0;\n  margin-bottom: 0;\n  line-height: 40px;\n  padding-bottom: 19px;\n}\n\n/* Custom page footer */\n.footer {\n  padding-top: 19px;\n  color: #777;\n  border-top: 1px solid #e5e5e5;\n}\n\n.container-narrow > hr {\n  margin: 30px 0;\n}\n\n/* Main marketing message and sign up button */\n.jumbotron {\n  text-align: center;\n  border-bottom: 1px solid #e5e5e5;\n}\n\n.jumbotron .btn {\n  font-size: 21px;\n  padding: 14px 24px;\n}\n\n/* Supporting marketing content */\n.marketing {\n  margin: 40px 0;\n}\n\n.marketing p + h4 {\n  margin-top: 28px;\n}\n\n/* Responsive: Portrait tablets and up */\n@media screen and (min-width: 768px) {\n  .container {\n    max-width: 730px;\n  }\n\n  /* Remove the padding we set earlier */\n  .header,\n  .marketing,\n  .footer {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  /* Space out the masthead */\n  .header {\n    margin-bottom: 30px;\n  }\n\n  /* Remove the bottom border on the jumbotron for visual effect */\n  .jumbotron {\n    border-bottom: 0;\n  }\n}\n"
  },
  {
    "path": "bower.json",
    "content": "{\n  \"name\": \"angularjs-audio\",\n  \"version\": \"1.7.3\",\n  \"description\": \"Total awesomeness for playing sounds in AngularJS\",\n  \"license\": \"MIT\",\n  \"main\": \"app/angularjs.audio.js\",\n  \"homepage\": \"http://danielstern.github.io/ngAudio/\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git://github.com/danielstern/ngAudio.git\"\n  },\n  \"ignore\":[\n    \"app/audio/*.*\"\n  ],\n  \"dependencies\": {\n    \"angular\": \">=1.2 < 1.7\"\n  },\n  \"devDependencies\": {\n    \"jquery\": \"~2.1.4\",\n    \"ui-router\": \"~0.2.15\",\n    \"bootstrap\": \"~3.3.5\"\n  }\n}\n"
  },
  {
    "path": "css/bootstrap-theme.css",
    "content": "/*!\n * Bootstrap v3.1.1 (http://getbootstrap.com)\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n}\n.btn-default {\n  text-shadow: 0 1px 0 #fff;\n  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n  background-image:         linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #dbdbdb;\n  border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background-color: #e0e0e0;\n  background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n  background-color: #e0e0e0;\n  border-color: #dbdbdb;\n}\n.btn-primary {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);\n  background-image:         linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #2b669a;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background-color: #2d6ca2;\n  background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #2d6ca2;\n  border-color: #2b669a;\n}\n.btn-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image:         linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background-color: #419641;\n  background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n  background-color: #419641;\n  border-color: #3e8f3e;\n}\n.btn-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image:         linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n  background-color: #2aabd2;\n  background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n  background-color: #2aabd2;\n  border-color: #28a4c9;\n}\n.btn-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n  background-color: #eb9316;\n  background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #eb9316;\n  border-color: #e38d13;\n}\n.btn-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image:         linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background-color: #c12e2a;\n  background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #c12e2a;\n  border-color: #b92c28;\n}\n.thumbnail,\n.img-thumbnail {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);\n          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  background-color: #e8e8e8;\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n  background-repeat: repeat-x;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  background-color: #357ebd;\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n  background-image:         linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n  background-repeat: repeat-x;\n}\n.navbar-default {\n  background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);\n  background-image:         linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n}\n.navbar-default .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);\n  background-image:         linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);\n  background-repeat: repeat-x;\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n.navbar-inverse {\n  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n  background-image:         linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n}\n.navbar-inverse .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);\n  background-image:         linear-gradient(to bottom, #222 0%, #282828 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);\n  background-repeat: repeat-x;\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);\n          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n.alert {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n}\n.alert-success {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image:         linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n  background-repeat: repeat-x;\n  border-color: #b2dba1;\n}\n.alert-info {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image:         linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n  background-repeat: repeat-x;\n  border-color: #9acfea;\n}\n.alert-warning {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n  background-repeat: repeat-x;\n  border-color: #f5e79e;\n}\n.alert-danger {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image:         linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n  background-repeat: repeat-x;\n  border-color: #dca7a7;\n}\n.progress {\n  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image:         linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n  background-repeat: repeat-x;\n}\n.progress-bar {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);\n  background-image:         linear-gradient(to bottom, #428bca 0%, #3071a9 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);\n  background-repeat: repeat-x;\n}\n.progress-bar-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image:         linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n  background-repeat: repeat-x;\n}\n.progress-bar-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image:         linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n  background-repeat: repeat-x;\n}\n.progress-bar-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n  background-repeat: repeat-x;\n}\n.progress-bar-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image:         linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n  background-repeat: repeat-x;\n}\n.list-group {\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);\n          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 #3071a9;\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);\n  background-image:         linear-gradient(to bottom, #428bca 0%, #3278b3 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);\n  background-repeat: repeat-x;\n  border-color: #3278b3;\n}\n.panel {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);\n          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);\n}\n.panel-default > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n  background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n  background-image:         linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n  background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image:         linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n  background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image:         linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n  background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n  background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image:         linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n  background-repeat: repeat-x;\n}\n.well {\n  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image:         linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n  background-repeat: repeat-x;\n  border-color: #dcdcdc;\n  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n          box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */\n"
  },
  {
    "path": "css/bootstrap.css",
    "content": "/*!\n * Bootstrap v3.1.1 (http://getbootstrap.com)\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\nhtml {\n  font-family: sans-serif;\n  -webkit-text-size-adjust: 100%;\n      -ms-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  margin: .67em 0;\n  font-size: 2em;\n}\nmark {\n  color: #000;\n  background: #ff0;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\nsup {\n  top: -.5em;\n}\nsub {\n  bottom: -.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  height: 0;\n  -moz-box-sizing: content-box;\n       box-sizing: content-box;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  margin: 0;\n  font: inherit;\n  color: inherit;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n  -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  padding: .35em .625em .75em;\n  margin: 0 2px;\n  border: 1px solid #c0c0c0;\n}\nlegend {\n  padding: 0;\n  border: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-spacing: 0;\n  border-collapse: collapse;\n}\ntd,\nth {\n  padding: 0;\n}\n@media print {\n  * {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"javascript:\"]:after,\n  a[href^=\"#\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  select {\n    background: #fff !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n* {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\nhtml {\n  font-size: 62.5%;\n\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #428bca;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #2a6496;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all .2s ease-in-out;\n          transition: all .2s ease-in-out;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 200;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\ncite {\n  font-style: normal;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-muted {\n  color: #999;\n}\n.text-primary {\n  color: #428bca;\n}\na.text-primary:hover {\n  color: #3071a9;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #428bca;\n}\na.bg-primary:hover {\n  background-color: #3071a9;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  margin-left: -5px;\n  list-style: none;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    overflow: hidden;\n    clear: left;\n    text-align: right;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #999;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #999;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #eee;\n  border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  white-space: nowrap;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #333;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: 0;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: 0;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: 0;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: 0;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: 0;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: 0;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: 0;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: 0;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0;\n  }\n}\ntable {\n  max-width: 100%;\n  background-color: transparent;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-child(odd) > td,\n.table-striped > tbody > tr:nth-child(odd) > th {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover > td,\n.table-hover > tbody > tr:hover > th {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n@media (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-x: scroll;\n    overflow-y: hidden;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  /* IE8-9 */\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n          transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n  background-color: #eee;\n  opacity: 1;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\ninput[type=\"date\"] {\n  line-height: 34px;\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  display: block;\n  min-height: 20px;\n  padding-left: 20px;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  display: inline;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  vertical-align: middle;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\n.radio[disabled],\n.radio-inline[disabled],\n.checkbox[disabled],\n.checkbox-inline[disabled],\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"],\nfieldset[disabled] .radio,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.has-feedback .form-control-feedback {\n  position: absolute;\n  top: 25px;\n  right: 0;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #a94442;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.form-control-static {\n  margin-bottom: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    padding-left: 0;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    float: none;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .control-label,\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  padding-top: 7px;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.form-horizontal .form-control-static {\n  padding-top: 7px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  top: 0;\n  right: 15px;\n}\n.btn {\n  display: inline-block;\n  padding: 6px 12px;\n  margin-bottom: 0;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  pointer-events: none;\n  cursor: not-allowed;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  opacity: .65;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active,\n.open .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #ebebeb;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #428bca;\n  border-color: #357ebd;\n}\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary:active,\n.btn-primary.active,\n.open .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #3276b1;\n  border-color: #285e8e;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #428bca;\n  border-color: #357ebd;\n}\n.btn-primary .badge {\n  color: #428bca;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:hover,\n.btn-success:focus,\n.btn-success:active,\n.btn-success.active,\n.open .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #47a447;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:hover,\n.btn-info:focus,\n.btn-info:active,\n.btn-info.active,\n.open .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #39b3d7;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning:active,\n.btn-warning.active,\n.open .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ed9c28;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger:active,\n.btn-danger.active,\n.open .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #d2322d;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  font-weight: normal;\n  color: #428bca;\n  cursor: pointer;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #2a6496;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #999;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n  padding-right: 0;\n  padding-left: 0;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity .15s linear;\n          transition: opacity .15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition: height .35s ease;\n          transition: height .35s ease;\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\2a\";\n}\n.glyphicon-plus:before {\n  content: \"\\2b\";\n}\n.glyphicon-euro:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px solid;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  font-size: 14px;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  color: #262626;\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #428bca;\n  outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #999;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #999;\n}\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  content: \"\";\n  border-top: 0;\n  border-bottom: 4px solid;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 1px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .navbar-right .dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus {\n  outline: none;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child > .btn:last-child,\n.btn-group > .btn-group:first-child > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  display: table-cell;\n  float: none;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n[data-toggle=\"buttons\"] > .btn > input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn > input[type=\"checkbox\"] {\n  display: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555;\n  text-align: center;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  margin-left: -1px;\n}\n.nav {\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eee;\n}\n.nav > li.disabled > a {\n  color: #999;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #999;\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eee;\n  border-color: #428bca;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #428bca;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  max-height: 340px;\n  padding-right: 15px;\n  padding-left: 15px;\n  overflow-x: visible;\n  -webkit-overflow-scrolling: touch;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  height: 50px;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-right: 15px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: none;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n  .navbar-nav.navbar-right:last-child {\n    margin-right: -15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n  }\n}\n.navbar-form {\n  padding: 10px 15px;\n  margin-top: 8px;\n  margin-right: -15px;\n  margin-bottom: 8px;\n  margin-left: -15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    padding-left: 0;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    float: none;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n  .navbar-form.navbar-right:last-child {\n    margin-right: -15px;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-right: 15px;\n    margin-left: 15px;\n  }\n  .navbar-text.navbar-right:last-child {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #999;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #999;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #999;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #999;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #999;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  padding: 0 5px;\n  color: #ccc;\n  content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n  color: #999;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  margin-left: -1px;\n  line-height: 1.42857143;\n  color: #428bca;\n  text-decoration: none;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  color: #2a6496;\n  background-color: #eee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 2;\n  color: #fff;\n  cursor: default;\n  background-color: #428bca;\n  border-color: #428bca;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #999;\n  cursor: not-allowed;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-top-left-radius: 6px;\n  border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-top-right-radius: 6px;\n  border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-top-left-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-top-right-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #999;\n  cursor: not-allowed;\n  background-color: #fff;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\n.label[href]:hover,\n.label[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #999;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #808080;\n}\n.label-primary {\n  background-color: #428bca;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #3071a9;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  background-color: #999;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\na.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #428bca;\n  background-color: #fff;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.container .jumbotron {\n  border-radius: 6px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron {\n    padding-right: 60px;\n    padding-left: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all .2s ease-in-out;\n          transition: all .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-right: auto;\n  margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #428bca;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable {\n  padding-right: 35px;\n}\n.alert-dismissable .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n  float: left;\n  width: 0;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #428bca;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n  -webkit-transition: width .6s ease;\n          transition: width .6s ease;\n}\n.progress-striped .progress-bar {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n          animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.media,\n.media .media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media-object {\n  display: block;\n}\n.media-heading {\n  margin: 0 0 5px;\n}\n.media > .pull-left {\n  margin-right: 10px;\n}\n.media > .pull-right {\n  margin-left: 10px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  padding-left: 0;\n  margin-bottom: 20px;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\na.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\na.list-group-item.active,\na.list-group-item.active:hover,\na.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #428bca;\n  border-color: #428bca;\n}\na.list-group-item.active .list-group-item-heading,\na.list-group-item.active:hover .list-group-item-heading,\na.list-group-item.active:focus .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item.active .list-group-item-text,\na.list-group-item.active:hover .list-group-item-text,\na.list-group-item.active:focus .list-group-item-text {\n  color: #e1edf7;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\na.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\na.list-group-item-success.active:hover,\na.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\na.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\na.list-group-item-info.active:hover,\na.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\na.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\na.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n          box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table {\n  margin-bottom: 0;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  margin-bottom: 0;\n  border: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  overflow: hidden;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #428bca;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #428bca;\n  border-color: #428bca;\n}\n.panel-primary > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #428bca;\n}\n.panel-primary > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #428bca;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  filter: alpha(opacity=20);\n  opacity: .2;\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\nbutton.close {\n  -webkit-appearance: none;\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: auto;\n  overflow-y: scroll;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transition: -webkit-transform .3s ease-out;\n     -moz-transition:    -moz-transform .3s ease-out;\n       -o-transition:      -o-transform .3s ease-out;\n          transition:         transform .3s ease-out;\n  -webkit-transform: translate(0, -25%);\n      -ms-transform: translate(0, -25%);\n          transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n      -ms-transform: translate(0, 0);\n          transform: translate(0, 0);\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, .2);\n  border-radius: 6px;\n  outline: none;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n          box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n.modal-backdrop.in {\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\n.modal-header {\n  min-height: 16.42857143px;\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 20px;\n}\n.modal-footer {\n  padding: 19px 20px 20px;\n  margin-top: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1030;\n  display: block;\n  font-size: 12px;\n  line-height: 1.4;\n  visibility: visible;\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n.tooltip.in {\n  filter: alpha(opacity=90);\n  opacity: .9;\n}\n.tooltip.top {\n  padding: 5px 0;\n  margin-top: -3px;\n}\n.tooltip.right {\n  padding: 0 5px;\n  margin-left: 3px;\n}\n.tooltip.bottom {\n  padding: 5px 0;\n  margin-top: 3px;\n}\n.tooltip.left {\n  padding: 0 5px;\n  margin-left: -3px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  right: 5px;\n  bottom: 0;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  text-align: left;\n  white-space: normal;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  padding: 8px 14px;\n  margin: 0;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 18px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  content: \"\";\n  border-width: 10px;\n}\n.popover.top > .arrow {\n  bottom: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-color: #999;\n  border-top-color: rgba(0, 0, 0, .25);\n  border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n  bottom: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-color: #fff;\n  border-bottom-width: 0;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-right-color: #999;\n  border-right-color: rgba(0, 0, 0, .25);\n  border-left-width: 0;\n}\n.popover.right > .arrow:after {\n  bottom: -10px;\n  left: 1px;\n  content: \" \";\n  border-right-color: #fff;\n  border-left-width: 0;\n}\n.popover.bottom > .arrow {\n  top: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999;\n  border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n  top: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999;\n  border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n  right: 1px;\n  bottom: -10px;\n  content: \" \";\n  border-right-width: 0;\n  border-left-color: #fff;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n.carousel-inner > .item {\n  position: relative;\n  display: none;\n  -webkit-transition: .6s ease-in-out left;\n          transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 15%;\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .5) 0%), color-stop(rgba(0, 0, 0, .0001) 100%));\n  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n  background-repeat: repeat-x;\n}\n.carousel-control.right {\n  right: 0;\n  left: auto;\n  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .0001) 0%), color-stop(rgba(0, 0, 0, .5) 100%));\n  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n  background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  color: #fff;\n  text-decoration: none;\n  filter: alpha(opacity=90);\n  outline: none;\n  opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  margin-top: -10px;\n  margin-left: -10px;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  padding-left: 0;\n  margin-left: -30%;\n  text-align: center;\n  list-style: none;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n  border: 1px solid #fff;\n  border-radius: 10px;\n}\n.carousel-indicators .active {\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -15px;\n    margin-left: -15px;\n    font-size: 30px;\n  }\n  .carousel-caption {\n    right: 20%;\n    left: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n  display: table;\n  content: \" \";\n}\n.clearfix:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n  visibility: hidden !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n"
  },
  {
    "path": "css/shCore.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n"
  },
  {
    "path": "css/shCoreDefault.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #e0e0e0 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: black !important;\n}\n.syntaxhighlighter table caption {\n  color: black !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #6ce26c !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #6ce26c !important;\n  color: white !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: blue !important;\n  background: white !important;\n  border: 1px solid #6ce26c !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: blue !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: red !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #6ce26c !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: black !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: black !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: blue !important;\n}\n.syntaxhighlighter .keyword {\n  color: #006699 !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #006699 !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: red !important;\n}\n\n.syntaxhighlighter .keyword {\n  font-weight: bold !important;\n}\n"
  },
  {
    "path": "css/shCoreDjango.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: #0a2b1d !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #0a2b1d !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #0a2b1d !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #233729 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: #f8f8f8 !important;\n}\n.syntaxhighlighter .gutter {\n  color: #497958 !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #41a83e !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #41a83e !important;\n  color: #0a2b1d !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #96dd3b !important;\n  background: black !important;\n  border: 1px solid #41a83e !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #96dd3b !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #41a83e !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #ffe862 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #f8f8f8 !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #336442 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #9df39f !important;\n}\n.syntaxhighlighter .keyword {\n  color: #96dd3b !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #91bb9e !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #f7e741 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .constants {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #96dd3b !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #eb939a !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #91bb9e !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #edef7d !important;\n}\n\n.syntaxhighlighter .comments {\n  font-style: italic !important;\n}\n.syntaxhighlighter .keyword {\n  font-weight: bold !important;\n}\n"
  },
  {
    "path": "css/shCoreEclipse.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #c3defe !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: black !important;\n}\n.syntaxhighlighter .gutter {\n  color: #787878 !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #d4d0c8 !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #d4d0c8 !important;\n  color: white !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #3f5fbf !important;\n  background: white !important;\n  border: 1px solid #d4d0c8 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #3f5fbf !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: #a0a0a0 !important;\n  background: #d4d0c8 !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: #a0a0a0 !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: red !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: black !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #3f5fbf !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #2a00ff !important;\n}\n.syntaxhighlighter .keyword {\n  color: #7f0055 !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #646464 !important;\n}\n.syntaxhighlighter .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #7f0055 !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: red !important;\n}\n\n.syntaxhighlighter .keyword {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .xml .keyword {\n  color: #3f7f7f !important;\n  font-weight: normal !important;\n}\n.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {\n  color: #7f007f !important;\n}\n.syntaxhighlighter .xml .string {\n  font-style: italic !important;\n  color: #2a00ff !important;\n}\n"
  },
  {
    "path": "css/shCoreEmacs.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: black !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: black !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: black !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #2a3133 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: #d3d3d3 !important;\n}\n.syntaxhighlighter .gutter {\n  color: #d3d3d3 !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #990000 !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #990000 !important;\n  color: black !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #ebdb8d !important;\n  background: black !important;\n  border: 1px solid #990000 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #ebdb8d !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #ff7d27 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #990000 !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #9ccff4 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #d3d3d3 !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #ff7d27 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #ff9e7b !important;\n}\n.syntaxhighlighter .keyword {\n  color: aqua !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #aec4de !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #81cef9 !important;\n}\n.syntaxhighlighter .constants {\n  color: #ff9e7b !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: aqua !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #ebdb8d !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #ff7d27 !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #aec4de !important;\n}\n"
  },
  {
    "path": "css/shCoreFadeToGrey.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: #121212 !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #121212 !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #121212 !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #2c2c29 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: white !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #3185b9 !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #3185b9 !important;\n  color: #121212 !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #3185b9 !important;\n  background: black !important;\n  border: 1px solid #3185b9 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #3185b9 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #d01d33 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #3185b9 !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #96daff !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: white !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #696854 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #e3e658 !important;\n}\n.syntaxhighlighter .keyword {\n  color: #d01d33 !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #435a5f !important;\n}\n.syntaxhighlighter .variable {\n  color: #898989 !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #aaaaaa !important;\n}\n.syntaxhighlighter .constants {\n  color: #96daff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #d01d33 !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #ffc074 !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #4a8cdb !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #96daff !important;\n}\n\n.syntaxhighlighter .functions {\n  font-weight: bold !important;\n}\n"
  },
  {
    "path": "css/shCoreMDUltra.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: #222222 !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #222222 !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #222222 !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #253e5a !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: lime !important;\n}\n.syntaxhighlighter .gutter {\n  color: #38566f !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #435a5f !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #435a5f !important;\n  color: #222222 !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #428bdd !important;\n  background: black !important;\n  border: 1px solid #435a5f !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: lime !important;\n}\n.syntaxhighlighter .toolbar {\n  color: #aaaaff !important;\n  background: #435a5f !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: #aaaaff !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #9ccff4 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: lime !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: lime !important;\n}\n.syntaxhighlighter .keyword {\n  color: #aaaaff !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #8aa6c1 !important;\n}\n.syntaxhighlighter .variable {\n  color: aqua !important;\n}\n.syntaxhighlighter .value {\n  color: #f7e741 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ff8000 !important;\n}\n.syntaxhighlighter .constants {\n  color: yellow !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #aaaaff !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: red !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: yellow !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #ffaa3e !important;\n}\n"
  },
  {
    "path": "css/shCoreMidnight.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: #0f192a !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #0f192a !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #0f192a !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #253e5a !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: #38566f !important;\n}\n.syntaxhighlighter table caption {\n  color: #d1edff !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #435a5f !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #435a5f !important;\n  color: #0f192a !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #428bdd !important;\n  background: black !important;\n  border: 1px solid #435a5f !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #1dc116 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: #d1edff !important;\n  background: #435a5f !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: #d1edff !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #8aa6c1 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #d1edff !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #1dc116 !important;\n}\n.syntaxhighlighter .keyword {\n  color: #b43d3d !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #8aa6c1 !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #f7e741 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .constants {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #b43d3d !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #f8bb00 !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: white !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #ffaa3e !important;\n}\n"
  },
  {
    "path": "css/shCoreRDark.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter a,\n.syntaxhighlighter div,\n.syntaxhighlighter code,\n.syntaxhighlighter table,\n.syntaxhighlighter table td,\n.syntaxhighlighter table tr,\n.syntaxhighlighter table tbody,\n.syntaxhighlighter table thead,\n.syntaxhighlighter table caption,\n.syntaxhighlighter textarea {\n  -moz-border-radius: 0 0 0 0 !important;\n  -webkit-border-radius: 0 0 0 0 !important;\n  background: none !important;\n  border: 0 !important;\n  bottom: auto !important;\n  float: none !important;\n  height: auto !important;\n  left: auto !important;\n  line-height: 1.1em !important;\n  margin: 0 !important;\n  outline: 0 !important;\n  overflow: visible !important;\n  padding: 0 !important;\n  position: static !important;\n  right: auto !important;\n  text-align: left !important;\n  top: auto !important;\n  vertical-align: baseline !important;\n  width: auto !important;\n  box-sizing: content-box !important;\n  font-family: \"Consolas\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace !important;\n  font-weight: normal !important;\n  font-style: normal !important;\n  font-size: 1em !important;\n  min-height: inherit !important;\n  min-height: auto !important;\n}\n\n.syntaxhighlighter {\n  width: 100% !important;\n  margin: 1em 0 1em 0 !important;\n  position: relative !important;\n  overflow: auto !important;\n  font-size: 1em !important;\n}\n.syntaxhighlighter.source {\n  overflow: hidden !important;\n}\n.syntaxhighlighter .bold {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .italic {\n  font-style: italic !important;\n}\n.syntaxhighlighter .line {\n  white-space: pre !important;\n}\n.syntaxhighlighter table {\n  width: 100% !important;\n}\n.syntaxhighlighter table caption {\n  text-align: left !important;\n  padding: .5em 0 0.5em 1em !important;\n}\n.syntaxhighlighter table td.code {\n  width: 100% !important;\n}\n.syntaxhighlighter table td.code .container {\n  position: relative !important;\n}\n.syntaxhighlighter table td.code .container textarea {\n  box-sizing: border-box !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 0 !important;\n  width: 100% !important;\n  height: 100% !important;\n  border: none !important;\n  background: white !important;\n  padding-left: 1em !important;\n  overflow: hidden !important;\n  white-space: pre !important;\n}\n.syntaxhighlighter table td.gutter .line {\n  text-align: right !important;\n  padding: 0 0.5em 0 1em !important;\n}\n.syntaxhighlighter table td.code .line {\n  padding: 0 1em !important;\n}\n.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {\n  padding-left: 0em !important;\n}\n.syntaxhighlighter.show {\n  display: block !important;\n}\n.syntaxhighlighter.collapsed table {\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  padding: 0.1em 0.8em 0em 0.8em !important;\n  font-size: 1em !important;\n  position: static !important;\n  width: auto !important;\n  height: auto !important;\n}\n.syntaxhighlighter.collapsed .toolbar span {\n  display: inline !important;\n  margin-right: 1em !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a {\n  padding: 0 !important;\n  display: none !important;\n}\n.syntaxhighlighter.collapsed .toolbar span a.expandSource {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar {\n  position: absolute !important;\n  right: 1px !important;\n  top: 1px !important;\n  width: 11px !important;\n  height: 11px !important;\n  font-size: 10px !important;\n  z-index: 10 !important;\n}\n.syntaxhighlighter .toolbar span.title {\n  display: inline !important;\n}\n.syntaxhighlighter .toolbar a {\n  display: block !important;\n  text-align: center !important;\n  text-decoration: none !important;\n  padding-top: 1px !important;\n}\n.syntaxhighlighter .toolbar a.expandSource {\n  display: none !important;\n}\n.syntaxhighlighter.ie {\n  font-size: .9em !important;\n  padding: 1px 0 1px 0 !important;\n}\n.syntaxhighlighter.ie .toolbar {\n  line-height: 8px !important;\n}\n.syntaxhighlighter.ie .toolbar a {\n  padding-top: 0px !important;\n}\n.syntaxhighlighter.printing .line.alt1 .content,\n.syntaxhighlighter.printing .line.alt2 .content,\n.syntaxhighlighter.printing .line.highlighted .number,\n.syntaxhighlighter.printing .line.highlighted.alt1 .content,\n.syntaxhighlighter.printing .line.highlighted.alt2 .content {\n  background: none !important;\n}\n.syntaxhighlighter.printing .line .number {\n  color: #bbbbbb !important;\n}\n.syntaxhighlighter.printing .line .content {\n  color: black !important;\n}\n.syntaxhighlighter.printing .toolbar {\n  display: none !important;\n}\n.syntaxhighlighter.printing a {\n  text-decoration: none !important;\n}\n.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {\n  color: black !important;\n}\n.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {\n  color: blue !important;\n}\n.syntaxhighlighter.printing .keyword {\n  color: #006699 !important;\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter.printing .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter.printing .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter.printing .script {\n  font-weight: bold !important;\n}\n.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {\n  color: red !important;\n}\n.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {\n  color: black !important;\n}\n\n.syntaxhighlighter {\n  background-color: #1b2426 !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #1b2426 !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #1b2426 !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #323e41 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: #b9bdb6 !important;\n}\n.syntaxhighlighter table caption {\n  color: #b9bdb6 !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #435a5f !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #435a5f !important;\n  color: #1b2426 !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #5ba1cf !important;\n  background: black !important;\n  border: 1px solid #435a5f !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #5ba1cf !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #5ce638 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #435a5f !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #b9bdb6 !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #878a85 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #5ce638 !important;\n}\n.syntaxhighlighter .keyword {\n  color: #5ba1cf !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #435a5f !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .constants {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #5ba1cf !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: white !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #ffaa3e !important;\n}\n"
  },
  {
    "path": "css/shThemeDefault.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #e0e0e0 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: black !important;\n}\n.syntaxhighlighter table caption {\n  color: black !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #6ce26c !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #6ce26c !important;\n  color: white !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: blue !important;\n  background: white !important;\n  border: 1px solid #6ce26c !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: blue !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: red !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #6ce26c !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: black !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: black !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #008200 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: blue !important;\n}\n.syntaxhighlighter .keyword {\n  color: #006699 !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: gray !important;\n}\n.syntaxhighlighter .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #006699 !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: red !important;\n}\n\n.syntaxhighlighter .keyword {\n  font-weight: bold !important;\n}\n"
  },
  {
    "path": "css/shThemeDjango.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: #0a2b1d !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #0a2b1d !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #0a2b1d !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #233729 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: #f8f8f8 !important;\n}\n.syntaxhighlighter .gutter {\n  color: #497958 !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #41a83e !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #41a83e !important;\n  color: #0a2b1d !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #96dd3b !important;\n  background: black !important;\n  border: 1px solid #41a83e !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #96dd3b !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #41a83e !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #ffe862 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #f8f8f8 !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #336442 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #9df39f !important;\n}\n.syntaxhighlighter .keyword {\n  color: #96dd3b !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #91bb9e !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #f7e741 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .constants {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #96dd3b !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #eb939a !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #91bb9e !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #edef7d !important;\n}\n\n.syntaxhighlighter .comments {\n  font-style: italic !important;\n}\n.syntaxhighlighter .keyword {\n  font-weight: bold !important;\n}\n"
  },
  {
    "path": "css/shThemeEclipse.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: white !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #c3defe !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: black !important;\n}\n.syntaxhighlighter .gutter {\n  color: #787878 !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #d4d0c8 !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #d4d0c8 !important;\n  color: white !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #3f5fbf !important;\n  background: white !important;\n  border: 1px solid #d4d0c8 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #3f5fbf !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: #a0a0a0 !important;\n  background: #d4d0c8 !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: #a0a0a0 !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: red !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: black !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #3f5fbf !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #2a00ff !important;\n}\n.syntaxhighlighter .keyword {\n  color: #7f0055 !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #646464 !important;\n}\n.syntaxhighlighter .variable {\n  color: #aa7700 !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .constants {\n  color: #0066cc !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #7f0055 !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: gray !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #ff1493 !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: red !important;\n}\n\n.syntaxhighlighter .keyword {\n  font-weight: bold !important;\n}\n.syntaxhighlighter .xml .keyword {\n  color: #3f7f7f !important;\n  font-weight: normal !important;\n}\n.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {\n  color: #7f007f !important;\n}\n.syntaxhighlighter .xml .string {\n  font-style: italic !important;\n  color: #2a00ff !important;\n}\n"
  },
  {
    "path": "css/shThemeEmacs.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: black !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: black !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: black !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #2a3133 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: #d3d3d3 !important;\n}\n.syntaxhighlighter .gutter {\n  color: #d3d3d3 !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #990000 !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #990000 !important;\n  color: black !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #ebdb8d !important;\n  background: black !important;\n  border: 1px solid #990000 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #ebdb8d !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #ff7d27 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #990000 !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #9ccff4 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #d3d3d3 !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #ff7d27 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #ff9e7b !important;\n}\n.syntaxhighlighter .keyword {\n  color: aqua !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #aec4de !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #81cef9 !important;\n}\n.syntaxhighlighter .constants {\n  color: #ff9e7b !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: aqua !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #ebdb8d !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #ff7d27 !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #aec4de !important;\n}\n"
  },
  {
    "path": "css/shThemeFadeToGrey.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: #121212 !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #121212 !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #121212 !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #2c2c29 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: white !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #3185b9 !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #3185b9 !important;\n  color: #121212 !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #3185b9 !important;\n  background: black !important;\n  border: 1px solid #3185b9 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #3185b9 !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #d01d33 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #3185b9 !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #96daff !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: white !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #696854 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #e3e658 !important;\n}\n.syntaxhighlighter .keyword {\n  color: #d01d33 !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #435a5f !important;\n}\n.syntaxhighlighter .variable {\n  color: #898989 !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #aaaaaa !important;\n}\n.syntaxhighlighter .constants {\n  color: #96daff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #d01d33 !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #ffc074 !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: #4a8cdb !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #96daff !important;\n}\n\n.syntaxhighlighter .functions {\n  font-weight: bold !important;\n}\n"
  },
  {
    "path": "css/shThemeMDUltra.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: #222222 !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #222222 !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #222222 !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #253e5a !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: white !important;\n}\n.syntaxhighlighter table caption {\n  color: lime !important;\n}\n.syntaxhighlighter .gutter {\n  color: #38566f !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #435a5f !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #435a5f !important;\n  color: #222222 !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #428bdd !important;\n  background: black !important;\n  border: 1px solid #435a5f !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: lime !important;\n}\n.syntaxhighlighter .toolbar {\n  color: #aaaaff !important;\n  background: #435a5f !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: #aaaaff !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #9ccff4 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: lime !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: lime !important;\n}\n.syntaxhighlighter .keyword {\n  color: #aaaaff !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #8aa6c1 !important;\n}\n.syntaxhighlighter .variable {\n  color: aqua !important;\n}\n.syntaxhighlighter .value {\n  color: #f7e741 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ff8000 !important;\n}\n.syntaxhighlighter .constants {\n  color: yellow !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #aaaaff !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: red !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: yellow !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #ffaa3e !important;\n}\n"
  },
  {
    "path": "css/shThemeMidnight.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: #0f192a !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #0f192a !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #0f192a !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #253e5a !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: #38566f !important;\n}\n.syntaxhighlighter table caption {\n  color: #d1edff !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #435a5f !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #435a5f !important;\n  color: #0f192a !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #428bdd !important;\n  background: black !important;\n  border: 1px solid #435a5f !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #1dc116 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: #d1edff !important;\n  background: #435a5f !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: #d1edff !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #8aa6c1 !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #d1edff !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #428bdd !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #1dc116 !important;\n}\n.syntaxhighlighter .keyword {\n  color: #b43d3d !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #8aa6c1 !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #f7e741 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .constants {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #b43d3d !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #f8bb00 !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: white !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #ffaa3e !important;\n}\n"
  },
  {
    "path": "css/shThemeRDark.css",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n.syntaxhighlighter {\n  background-color: #1b2426 !important;\n}\n.syntaxhighlighter .line.alt1 {\n  background-color: #1b2426 !important;\n}\n.syntaxhighlighter .line.alt2 {\n  background-color: #1b2426 !important;\n}\n.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {\n  background-color: #323e41 !important;\n}\n.syntaxhighlighter .line.highlighted.number {\n  color: #b9bdb6 !important;\n}\n.syntaxhighlighter table caption {\n  color: #b9bdb6 !important;\n}\n.syntaxhighlighter .gutter {\n  color: #afafaf !important;\n}\n.syntaxhighlighter .gutter .line {\n  border-right: 3px solid #435a5f !important;\n}\n.syntaxhighlighter .gutter .line.highlighted {\n  background-color: #435a5f !important;\n  color: #1b2426 !important;\n}\n.syntaxhighlighter.printing .line .content {\n  border: none !important;\n}\n.syntaxhighlighter.collapsed {\n  overflow: visible !important;\n}\n.syntaxhighlighter.collapsed .toolbar {\n  color: #5ba1cf !important;\n  background: black !important;\n  border: 1px solid #435a5f !important;\n}\n.syntaxhighlighter.collapsed .toolbar a {\n  color: #5ba1cf !important;\n}\n.syntaxhighlighter.collapsed .toolbar a:hover {\n  color: #5ce638 !important;\n}\n.syntaxhighlighter .toolbar {\n  color: white !important;\n  background: #435a5f !important;\n  border: none !important;\n}\n.syntaxhighlighter .toolbar a {\n  color: white !important;\n}\n.syntaxhighlighter .toolbar a:hover {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .plain, .syntaxhighlighter .plain a {\n  color: #b9bdb6 !important;\n}\n.syntaxhighlighter .comments, .syntaxhighlighter .comments a {\n  color: #878a85 !important;\n}\n.syntaxhighlighter .string, .syntaxhighlighter .string a {\n  color: #5ce638 !important;\n}\n.syntaxhighlighter .keyword {\n  color: #5ba1cf !important;\n}\n.syntaxhighlighter .preprocessor {\n  color: #435a5f !important;\n}\n.syntaxhighlighter .variable {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .value {\n  color: #009900 !important;\n}\n.syntaxhighlighter .functions {\n  color: #ffaa3e !important;\n}\n.syntaxhighlighter .constants {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .script {\n  font-weight: bold !important;\n  color: #5ba1cf !important;\n  background-color: none !important;\n}\n.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {\n  color: #e0e8ff !important;\n}\n.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {\n  color: white !important;\n}\n.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {\n  color: #ffaa3e !important;\n}\n"
  },
  {
    "path": "gulpfile.js",
    "content": "var gulp = require('gulp');\nvar browserSync = require('browser-sync');\nvar ghPages = require('gulp-gh-pages');\n\ngulp.task('deploy', function() {\n    gulp.src('./app/**/*')\n        .pipe(gulp.dest('.tmp'));\n    gulp.src('./bower_components/**/*')\n        .pipe(gulp.dest('.tmp/bower_components'));\n    \n    return gulp.src('.tmp/**/*')\n        .pipe(ghPages());\n});\n\ngulp.task('default',function(){\n    browserSync.init({\n    notify: false,\n    port: 8080,\n    server: {\n      baseDir: ['app'],\n      routes: {\n        '/bower_components': 'bower_components'\n      }\n    }\n  });\n})"
  },
  {
    "path": "index.js",
    "content": "require('./app/angularjs.audio.js');\n\nmodule.exports = 'ngAudio';\n"
  },
  {
    "path": "lib/angular.js",
    "content": "/*\n AngularJS v1.2.13\n (c) 2010-2014 Google, Inc. http://angularjs.org\n License: MIT\n*/\n(function(C,T,s){'use strict';function E(b){return function(){var a=arguments[0],c,a=\"[\"+(b?b+\":\":\"\")+a+\"] http://errors.angularjs.org/1.2.13/\"+(b?b+\"/\":\"\")+a;for(c=1;c<arguments.length;c++)a=a+(1==c?\"?\":\"&\")+\"p\"+(c-1)+\"=\"+encodeURIComponent(\"function\"==typeof arguments[c]?arguments[c].toString().replace(/ \\{[\\s\\S]*$/,\"\"):\"undefined\"==typeof arguments[c]?\"undefined\":\"string\"!=typeof arguments[c]?JSON.stringify(arguments[c]):arguments[c]);return Error(a)}}function vb(b){if(null==b||za(b))return!1;\nvar a=b.length;return 1===b.nodeType&&a?!0:D(b)||H(b)||0===a||\"number\"===typeof a&&0<a&&a-1 in b}function r(b,a,c){var d;if(b)if(N(b))for(d in b)\"prototype\"==d||(\"length\"==d||\"name\"==d||b.hasOwnProperty&&!b.hasOwnProperty(d))||a.call(c,b[d],d);else if(b.forEach&&b.forEach!==r)b.forEach(a,c);else if(vb(b))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function Qb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Qc(b,\na,c){for(var d=Qb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function Rb(b){return function(a,c){b(c,a)}}function $a(){for(var b=ja.length,a;b;){b--;a=ja[b].charCodeAt(0);if(57==a)return ja[b]=\"A\",ja.join(\"\");if(90==a)ja[b]=\"0\";else return ja[b]=String.fromCharCode(a+1),ja.join(\"\")}ja.unshift(\"0\");return ja.join(\"\")}function Sb(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function t(b){var a=b.$$hashKey;r(arguments,function(a){a!==b&&r(a,function(a,c){b[c]=a})});Sb(b,a);return b}function Q(b){return parseInt(b,\n10)}function Tb(b,a){return t(new (t(function(){},{prototype:b})),a)}function w(){}function Aa(b){return b}function aa(b){return function(){return b}}function x(b){return\"undefined\"===typeof b}function v(b){return\"undefined\"!==typeof b}function Z(b){return null!=b&&\"object\"===typeof b}function D(b){return\"string\"===typeof b}function wb(b){return\"number\"===typeof b}function La(b){return\"[object Date]\"===Ma.call(b)}function H(b){return\"[object Array]\"===Ma.call(b)}function N(b){return\"function\"===typeof b}\nfunction ab(b){return\"[object RegExp]\"===Ma.call(b)}function za(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function Rc(b){return!(!b||!(b.nodeName||b.on&&b.find))}function Sc(b,a,c){var d=[];r(b,function(b,f,g){d.push(a.call(c,b,f,g))});return d}function bb(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Na(b,a){var c=bb(b,a);0<=c&&b.splice(c,1);return a}function ca(b,a){if(za(b)||b&&b.$evalAsync&&b.$watch)throw Oa(\"cpws\");if(a){if(b===\na)throw Oa(\"cpi\");if(H(b))for(var c=a.length=0;c<b.length;c++)a.push(ca(b[c]));else{c=a.$$hashKey;r(a,function(b,c){delete a[c]});for(var d in b)a[d]=ca(b[d]);Sb(a,c)}}else(a=b)&&(H(b)?a=ca(b,[]):La(b)?a=new Date(b.getTime()):ab(b)?a=RegExp(b.source):Z(b)&&(a=ca(b,{})));return a}function Ub(b,a){a=a||{};for(var c in b)!b.hasOwnProperty(c)||\"$\"===c.charAt(0)&&\"$\"===c.charAt(1)||(a[c]=b[c]);return a}function ta(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,\nd;if(c==typeof a&&\"object\"==c)if(H(b)){if(!H(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!ta(b[d],a[d]))return!1;return!0}}else{if(La(b))return La(a)&&b.getTime()==a.getTime();if(ab(b)&&ab(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||za(b)||za(a)||H(a))return!1;c={};for(d in b)if(\"$\"!==d.charAt(0)&&!N(b[d])){if(!ta(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&\"$\"!==d.charAt(0)&&a[d]!==s&&!N(a[d]))return!1;return!0}return!1}\nfunction Vb(){return T.securityPolicy&&T.securityPolicy.isActive||T.querySelector&&!(!T.querySelector(\"[ng-csp]\")&&!T.querySelector(\"[data-ng-csp]\"))}function cb(b,a){var c=2<arguments.length?ua.call(arguments,2):[];return!N(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,c.concat(ua.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Tc(b,a){var c=a;\"string\"===typeof b&&\"$\"===b.charAt(0)?c=s:za(a)?c=\"$WINDOW\":\na&&T===a?c=\"$DOCUMENT\":a&&(a.$evalAsync&&a.$watch)&&(c=\"$SCOPE\");return c}function oa(b,a){return\"undefined\"===typeof b?s:JSON.stringify(b,Tc,a?\"  \":null)}function Wb(b){return D(b)?JSON.parse(b):b}function Pa(b){\"function\"===typeof b?b=!0:b&&0!==b.length?(b=O(\"\"+b),b=!(\"f\"==b||\"0\"==b||\"false\"==b||\"no\"==b||\"n\"==b||\"[]\"==b)):b=!1;return b}function ga(b){b=z(b).clone();try{b.empty()}catch(a){}var c=z(\"<div>\").append(b).html();try{return 3===b[0].nodeType?O(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\\w\\-]+)/,\nfunction(a,b){return\"<\"+O(b)})}catch(d){return O(c)}}function Xb(b){try{return decodeURIComponent(b)}catch(a){}}function Yb(b){var a={},c,d;r((b||\"\").split(\"&\"),function(b){b&&(c=b.split(\"=\"),d=Xb(c[0]),v(d)&&(b=v(c[1])?Xb(c[1]):!0,a[d]?H(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Zb(b){var a=[];r(b,function(b,d){H(b)?r(b,function(b){a.push(va(d,!0)+(!0===b?\"\":\"=\"+va(b,!0)))}):a.push(va(d,!0)+(!0===b?\"\":\"=\"+va(b,!0)))});return a.length?a.join(\"&\"):\"\"}function xb(b){return va(b,\n!0).replace(/%26/gi,\"&\").replace(/%3D/gi,\"=\").replace(/%2B/gi,\"+\")}function va(b,a){return encodeURIComponent(b).replace(/%40/gi,\"@\").replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,a?\"%20\":\"+\")}function Uc(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,g=[\"ng:app\",\"ng-app\",\"x-ng-app\",\"data-ng-app\"],h=/\\sng[:\\-]app(:\\s*([\\w\\d_]+);?)?\\s/;r(g,function(a){g[a]=!0;c(T.getElementById(a));a=a.replace(\":\",\"\\\\:\");b.querySelectorAll&&(r(b.querySelectorAll(\".\"+a),c),r(b.querySelectorAll(\".\"+\na+\"\\\\:\"),c),r(b.querySelectorAll(\"[\"+a+\"]\"),c))});r(d,function(a){if(!e){var b=h.exec(\" \"+a.className+\" \");b?(e=a,f=(b[2]||\"\").replace(/\\s+/g,\",\")):r(a.attributes,function(b){!e&&g[b.name]&&(e=a,f=b.value)})}});e&&a(e,f?[f]:[])}function $b(b,a){var c=function(){b=z(b);if(b.injector()){var c=b[0]===T?\"document\":ga(b);throw Oa(\"btstrpd\",c);}a=a||[];a.unshift([\"$provide\",function(a){a.value(\"$rootElement\",b)}]);a.unshift(\"ng\");c=ac(a);c.invoke([\"$rootScope\",\"$rootElement\",\"$compile\",\"$injector\",\"$animate\",\nfunction(a,b,c,d,e){a.$apply(function(){b.data(\"$injector\",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(C&&!d.test(C.name))return c();C.name=C.name.replace(d,\"\");Ba.resumeBootstrap=function(b){r(b,function(b){a.push(b)});c()}}function db(b,a){a=a||\"_\";return b.replace(Vc,function(b,d){return(d?a:\"\")+b.toLowerCase()})}function yb(b,a,c){if(!b)throw Oa(\"areq\",a||\"?\",c||\"required\");return b}function Qa(b,a,c){c&&H(b)&&(b=b[b.length-1]);yb(N(b),a,\"not a function, got \"+(b&&\"object\"==typeof b?\nb.constructor.name||\"Object\":typeof b));return b}function wa(b,a){if(\"hasOwnProperty\"===b)throw Oa(\"badname\",a);}function bc(b,a,c){if(!a)return b;a=a.split(\".\");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&N(b)?cb(e,b):b}function zb(b){var a=b[0];b=b[b.length-1];if(a===b)return z(a);var c=[a];do{a=a.nextSibling;if(!a)break;c.push(a)}while(a!==b);return z(c)}function Wc(b){var a=E(\"$injector\"),c=E(\"ng\");b=b.angular||(b.angular={});b.$$minErr=b.$$minErr||E;return b.module||\n(b.module=function(){var b={};return function(e,f,g){if(\"hasOwnProperty\"===e)throw c(\"badname\",\"module\");f&&b.hasOwnProperty(e)&&(b[e]=null);return b[e]||(b[e]=function(){function b(a,d,e){return function(){c[e||\"push\"]([a,d,arguments]);return m}}if(!f)throw a(\"nomod\",e);var c=[],d=[],l=b(\"$injector\",\"invoke\"),m={_invokeQueue:c,_runBlocks:d,requires:f,name:e,provider:b(\"$provide\",\"provider\"),factory:b(\"$provide\",\"factory\"),service:b(\"$provide\",\"service\"),value:b(\"$provide\",\"value\"),constant:b(\"$provide\",\n\"constant\",\"unshift\"),animation:b(\"$animateProvider\",\"register\"),filter:b(\"$filterProvider\",\"register\"),controller:b(\"$controllerProvider\",\"register\"),directive:b(\"$compileProvider\",\"directive\"),config:l,run:function(a){d.push(a);return this}};g&&l(g);return m}())}}())}function Ra(b){return b.replace(Xc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(Yc,\"Moz$1\")}function Ab(b,a,c,d){function e(b){var e=c&&b?[this.filter(b)]:[this],n=a,k,l,m,p,q,A;if(!d||null!=b)for(;e.length;)for(k=e.shift(),\nl=0,m=k.length;l<m;l++)for(p=z(k[l]),n?p.triggerHandler(\"$destroy\"):n=!n,q=0,p=(A=p.children()).length;q<p;q++)e.push(Ca(A[q]));return f.apply(this,arguments)}var f=Ca.fn[b],f=f.$original||f;e.$original=f;Ca.fn[b]=e}function R(b){if(b instanceof R)return b;D(b)&&(b=da(b));if(!(this instanceof R)){if(D(b)&&\"<\"!=b.charAt(0))throw Bb(\"nosel\");return new R(b)}if(D(b)){var a=T.createElement(\"div\");a.innerHTML=\"<div>&#160;</div>\"+b;a.removeChild(a.firstChild);Cb(this,a.childNodes);z(T.createDocumentFragment()).append(this)}else Cb(this,\nb)}function Db(b){return b.cloneNode(!0)}function Da(b){cc(b);var a=0;for(b=b.childNodes||[];a<b.length;a++)Da(b[a])}function dc(b,a,c,d){if(v(d))throw Bb(\"offargs\");var e=ka(b,\"events\");ka(b,\"handle\")&&(x(a)?r(e,function(a,c){Eb(b,c,a);delete e[c]}):r(a.split(\" \"),function(a){x(c)?(Eb(b,a,e[a]),delete e[a]):Na(e[a]||[],c)}))}function cc(b,a){var c=b[eb],d=Sa[c];d&&(a?delete Sa[c].data[a]:(d.handle&&(d.events.$destroy&&d.handle({},\"$destroy\"),dc(b)),delete Sa[c],b[eb]=s))}function ka(b,a,c){var d=\nb[eb],d=Sa[d||-1];if(v(c))d||(b[eb]=d=++Zc,d=Sa[d]={}),d[a]=c;else return d&&d[a]}function ec(b,a,c){var d=ka(b,\"data\"),e=v(c),f=!e&&v(a),g=f&&!Z(a);d||g||ka(b,\"data\",d={});if(e)d[a]=c;else if(f){if(g)return d&&d[a];t(d,a)}else return d}function Fb(b,a){return b.getAttribute?-1<(\" \"+(b.getAttribute(\"class\")||\"\")+\" \").replace(/[\\n\\t]/g,\" \").indexOf(\" \"+a+\" \"):!1}function fb(b,a){a&&b.setAttribute&&r(a.split(\" \"),function(a){b.setAttribute(\"class\",da((\" \"+(b.getAttribute(\"class\")||\"\")+\" \").replace(/[\\n\\t]/g,\n\" \").replace(\" \"+da(a)+\" \",\" \")))})}function gb(b,a){if(a&&b.setAttribute){var c=(\" \"+(b.getAttribute(\"class\")||\"\")+\" \").replace(/[\\n\\t]/g,\" \");r(a.split(\" \"),function(a){a=da(a);-1===c.indexOf(\" \"+a+\" \")&&(c+=a+\" \")});b.setAttribute(\"class\",da(c))}}function Cb(b,a){if(a){a=a.nodeName||!v(a.length)||za(a)?[a]:a;for(var c=0;c<a.length;c++)b.push(a[c])}}function fc(b,a){return hb(b,\"$\"+(a||\"ngController\")+\"Controller\")}function hb(b,a,c){b=z(b);9==b[0].nodeType&&(b=b.find(\"html\"));for(a=H(a)?a:[a];b.length;){for(var d=\n0,e=a.length;d<e;d++)if((c=b.data(a[d]))!==s)return c;b=b.parent()}}function gc(b){for(var a=0,c=b.childNodes;a<c.length;a++)Da(c[a]);for(;b.firstChild;)b.removeChild(b.firstChild)}function hc(b,a){var c=ib[a.toLowerCase()];return c&&ic[b.nodeName]&&c}function $c(b,a){var c=function(c,e){c.preventDefault||(c.preventDefault=function(){c.returnValue=!1});c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0});c.target||(c.target=c.srcElement||T);if(x(c.defaultPrevented)){var f=c.preventDefault;\nc.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented||!1===c.returnValue};var g=Ub(a[e||c.type]||[]);r(g,function(a){a.call(b,c)});8>=P?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Ea(b){var a=typeof b,c;\"object\"==a&&null!==b?\"function\"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===\ns&&(c=b.$$hashKey=$a()):c=b;return a+\":\"+c}function Ta(b){r(b,this.put,this)}function jc(b){var a,c;\"function\"==typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(ad,\"\"),c=c.match(bd),r(c[1].split(cd),function(b){b.replace(dd,function(b,c,d){a.push(d)})})),b.$inject=a):H(b)?(c=b.length-1,Qa(b[c],\"fn\"),a=b.slice(0,c)):Qa(b,\"fn\",!0);return a}function ac(b){function a(a){return function(b,c){if(Z(b))r(b,Rb(a));else return a(b,c)}}function c(a,b){wa(a,\"service\");if(N(b)||H(b))b=m.instantiate(b);\nif(!b.$get)throw Ua(\"pget\",a);return l[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],c,d,f,h;r(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(D(a))for(c=Va(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,f=0,h=d.length;f<h;f++){var g=d[f],n=m.get(g[0]);n[g[1]].apply(n,g[2])}else N(a)?b.push(m.invoke(a)):H(a)?b.push(m.invoke(a)):Qa(a,\"module\")}catch(q){throw H(a)&&(a=a[a.length-1]),q.message&&(q.stack&&-1==q.stack.indexOf(q.message))&&(q=q.message+\"\\n\"+q.stack),\nUa(\"modulerr\",a,q.stack||q.message||q);}}});return b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===g)throw Ua(\"cdep\",n.join(\" <- \"));return a[d]}try{return n.unshift(d),a[d]=g,a[d]=b(d)}catch(e){throw a[d]===g&&delete a[d],e;}finally{n.shift()}}function d(a,b,e){var f=[],h=jc(a),g,n,k;n=0;for(g=h.length;n<g;n++){k=h[n];if(\"string\"!==typeof k)throw Ua(\"itkn\",k);f.push(e&&e.hasOwnProperty(k)?e[k]:c(k))}a.$inject||(a=a[g]);return a.apply(b,f)}return{invoke:d,instantiate:function(a,\nb){var c=function(){},e;c.prototype=(H(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return Z(e)||N(e)?e:c},get:c,annotate:jc,has:function(b){return l.hasOwnProperty(b+h)||a.hasOwnProperty(b)}}}var g={},h=\"Provider\",n=[],k=new Ta,l={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,[\"$injector\",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,aa(b))}),constant:a(function(a,b){wa(a,\"constant\");l[a]=b;p[a]=b}),decorator:function(a,b){var c=m.get(a+h),\nd=c.$get;c.$get=function(){var a=q.invoke(d,c);return q.invoke(b,null,{$delegate:a})}}}},m=l.$injector=f(l,function(){throw Ua(\"unpr\",n.join(\" <- \"));}),p={},q=p.$injector=f(p,function(a){a=m.get(a+h);return q.invoke(a.$get,a)});r(e(b),function(a){q.invoke(a||w)});return q}function ed(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=[\"$window\",\"$location\",\"$rootScope\",function(a,c,d){function e(a){var b=null;r(a,function(a){b||\"a\"!==O(a.nodeName)||(b=a)});return b}function f(){var b=\nc.hash(),d;b?(d=g.getElementById(b))?d.scrollIntoView():(d=e(g.getElementsByName(b)))?d.scrollIntoView():\"top\"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var g=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function fd(b,a,c,d){function e(a){try{a.apply(null,ua.call(arguments,1))}finally{if(A--,0===A)for(;B.length;)try{B.pop()()}catch(b){c.error(b)}}}function f(a,b){(function kb(){r(I,function(a){a()});u=b(kb,a)})()}function g(){y=null;G!=h.url()&&(G=h.url(),\nr(Y,function(a){a(h.url())}))}var h=this,n=a[0],k=b.location,l=b.history,m=b.setTimeout,p=b.clearTimeout,q={};h.isMock=!1;var A=0,B=[];h.$$completeOutstandingRequest=e;h.$$incOutstandingRequestCount=function(){A++};h.notifyWhenNoOutstandingRequests=function(a){r(I,function(a){a()});0===A?a():B.push(a)};var I=[],u;h.addPollFn=function(a){x(u)&&f(100,m);I.push(a);return a};var G=k.href,W=a.find(\"base\"),y=null;h.url=function(a,c){k!==b.location&&(k=b.location);l!==b.history&&(l=b.history);if(a){if(G!=\na)return G=a,d.history?c?l.replaceState(null,\"\",a):(l.pushState(null,\"\",a),W.attr(\"href\",W.attr(\"href\"))):(y=a,c?k.replace(a):k.href=a),h}else return y||k.href.replace(/%27/g,\"'\")};var Y=[],S=!1;h.onUrlChange=function(a){if(!S){if(d.history)z(b).on(\"popstate\",g);if(d.hashchange)z(b).on(\"hashchange\",g);else h.addPollFn(g);S=!0}Y.push(a);return a};h.baseHref=function(){var a=W.attr(\"href\");return a?a.replace(/^(https?\\:)?\\/\\/[^\\/]*/,\"\"):\"\"};var L={},ba=\"\",U=h.baseHref();h.cookies=function(a,b){var d,\ne,f,h;if(a)b===s?n.cookie=escape(a)+\"=;path=\"+U+\";expires=Thu, 01 Jan 1970 00:00:00 GMT\":D(b)&&(d=(n.cookie=escape(a)+\"=\"+escape(b)+\";path=\"+U).length+1,4096<d&&c.warn(\"Cookie '\"+a+\"' possibly not set or overflowed because it was too large (\"+d+\" > 4096 bytes)!\"));else{if(n.cookie!==ba)for(ba=n.cookie,d=ba.split(\"; \"),L={},f=0;f<d.length;f++)e=d[f],h=e.indexOf(\"=\"),0<h&&(a=unescape(e.substring(0,h)),L[a]===s&&(L[a]=unescape(e.substring(h+1))));return L}};h.defer=function(a,b){var c;A++;c=m(function(){delete q[c];\ne(a)},b||0);q[c]=!0;return c};h.defer.cancel=function(a){return q[a]?(delete q[a],p(a),e(w),!0):!1}}function gd(){this.$get=[\"$window\",\"$log\",\"$sniffer\",\"$document\",function(b,a,c,d){return new fd(b,d,a,c)}]}function hd(){this.$get=function(){function b(b,d){function e(a){a!=m&&(p?p==a&&(p=a.n):p=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw E(\"$cacheFactory\")(\"iid\",b);var g=0,h=t({},d,{id:b}),n={},k=d&&d.capacity||Number.MAX_VALUE,l={},m=null,p=null;\nreturn a[b]={put:function(a,b){var c=l[a]||(l[a]={key:a});e(c);if(!x(b))return a in n||g++,n[a]=b,g>k&&this.remove(p.key),b},get:function(a){var b=l[a];if(b)return e(b),n[a]},remove:function(a){var b=l[a];b&&(b==m&&(m=b.p),b==p&&(p=b.n),f(b.n,b.p),delete l[a],delete n[a],g--)},removeAll:function(){n={};g=0;l={};m=p=null},destroy:function(){l=h=n=null;delete a[b]},info:function(){return t({},h,{size:g})}}}var a={};b.info=function(){var b={};r(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};\nreturn b}}function id(){this.$get=[\"$cacheFactory\",function(b){return b(\"templates\")}]}function kc(b,a){var c={},d=\"Directive\",e=/^\\s*directive\\:\\s*([\\d\\w\\-_]+)\\s+(.*)$/,f=/(([\\d\\w\\-_]+)(?:\\:([^;]+))?;?)/,g=/^<\\s*(tr|th|td|tbody)(\\s+[^>]*)?>/i,h=/^(on[a-z]+|formaction)$/;this.directive=function k(a,e){wa(a,\"directive\");D(a)?(yb(e,\"directiveFactory\"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+d,[\"$injector\",\"$exceptionHandler\",function(b,d){var e=[];r(c[a],function(c,f){try{var h=b.invoke(c);N(h)?h=\n{compile:aa(h)}:!h.compile&&h.link&&(h.compile=aa(h.link));h.priority=h.priority||0;h.index=f;h.name=h.name||a;h.require=h.require||h.controller&&h.name;h.restrict=h.restrict||\"A\";e.push(h)}catch(g){d(g)}});return e}])),c[a].push(e)):r(a,Rb(k));return this};this.aHrefSanitizationWhitelist=function(b){return v(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(b){return v(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()};\nthis.$get=[\"$injector\",\"$interpolate\",\"$exceptionHandler\",\"$http\",\"$templateCache\",\"$parse\",\"$controller\",\"$rootScope\",\"$document\",\"$sce\",\"$animate\",\"$$sanitizeUri\",function(a,b,m,p,q,A,B,I,u,G,W,y){function Y(a,b,c,d,e){a instanceof z||(a=z(a));r(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\\S+/)&&(a[c]=z(b).wrap(\"<span></span>\").parent()[0])});var f=L(a,b,a,c,d,e);S(a,\"ng-scope\");return function(b,c,d){yb(b,\"scope\");var e=c?Fa.clone.call(a):a;r(d,function(a,b){e.data(\"$\"+b+\"Controller\",a)});\nd=0;for(var h=e.length;d<h;d++){var g=e[d].nodeType;1!==g&&9!==g||e.eq(d).data(\"$scope\",b)}c&&c(e,b);f&&f(b,e,e);return e}}function S(a,b){try{a.addClass(b)}catch(c){}}function L(a,b,c,d,e,f){function h(a,c,d,e){var f,k,q,l,m,p,K;f=c.length;var A=Array(f);for(m=0;m<f;m++)A[m]=c[m];K=m=0;for(p=g.length;m<p;K++)k=A[K],c=g[m++],f=g[m++],q=z(k),c?(c.scope?(l=a.$new(),q.data(\"$scope\",l)):l=a,(q=c.transclude)||!e&&b?c(f,l,k,d,ba(a,q||b)):c(f,l,k,d,e)):f&&f(a,k.childNodes,s,e)}for(var g=[],k,q,l,m,p=0;p<\na.length;p++)k=new Gb,q=U(a[p],[],k,0===p?d:s,e),(f=q.length?Wa(q,a[p],k,b,c,null,[],[],f):null)&&f.scope&&S(z(a[p]),\"ng-scope\"),k=f&&f.terminal||!(l=a[p].childNodes)||!l.length?null:L(l,f?f.transclude:b),g.push(f,k),m=m||f||k,f=null;return m?h:null}function ba(a,b){return function(c,d,e){var f=!1;c||(c=a.$new(),f=c.$$transcluded=!0);d=b(c,d,e);if(f)d.on(\"$destroy\",cb(c,c.$destroy));return d}}function U(a,b,c,d,h){var g=c.$attr,k;switch(a.nodeType){case 1:v(b,la(Ga(a).toLowerCase()),\"E\",d,h);var q,\nl,m;k=a.attributes;for(var p=0,A=k&&k.length;p<A;p++){var B=!1,G=!1;q=k[p];if(!P||8<=P||q.specified){l=q.name;m=la(l);pa.test(m)&&(l=db(m.substr(6),\"-\"));var I=m.replace(/(Start|End)$/,\"\");m===I+\"Start\"&&(B=l,G=l.substr(0,l.length-5)+\"end\",l=l.substr(0,l.length-6));m=la(l.toLowerCase());g[m]=l;c[m]=q=da(q.value);hc(a,m)&&(c[m]=!0);ha(a,b,q,m);v(b,m,\"A\",d,h,B,G)}}a=a.className;if(D(a)&&\"\"!==a)for(;k=f.exec(a);)m=la(k[2]),v(b,m,\"C\",d,h)&&(c[m]=da(k[3])),a=a.substr(k.index+k[0].length);break;case 3:C(b,\na.nodeValue);break;case 8:try{if(k=e.exec(a.nodeValue))m=la(k[1]),v(b,m,\"M\",d,h)&&(c[m]=da(k[2]))}catch(y){}}b.sort(E);return b}function M(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ia(\"uterdir\",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return z(d)}function jb(a,b,c){return function(d,e,f,h,g){e=M(e[0],b,c);return a(d,e,f,h,g)}}function Wa(a,c,d,e,f,h,g,k,q){function p(a,b,c,d){if(a){c&&\n(a=jb(a,c,d));a.require=F.require;if(L===F||F.$$isolateScope)a=lc(a,{isolateScope:!0});g.push(a)}if(b){c&&(b=jb(b,c,d));b.require=F.require;if(L===F||F.$$isolateScope)b=lc(b,{isolateScope:!0});k.push(b)}}function G(a,b,c){var d,e=\"data\",f=!1;if(D(a)){for(;\"^\"==(d=a.charAt(0))||\"?\"==d;)a=a.substr(1),\"^\"==d&&(e=\"inheritedData\"),f=f||\"?\"==d;d=null;c&&\"data\"===e&&(d=c[a]);d=d||b[e](\"$\"+a+\"Controller\");if(!d&&!f)throw ia(\"ctreq\",a,ha);}else H(a)&&(d=[],r(a,function(a){d.push(G(a,b,c))}));return d}function I(a,\ne,f,h,q){function p(a,b){var c;2>arguments.length&&(b=a,a=s);Ha&&(c=lb);return q(a,b,c)}var K,y,u,Y,M,U,lb={},v;K=c===f?d:Ub(d,new Gb(z(f),d.$attr));y=K.$$element;if(L){var t=/^\\s*([@=&])(\\??)\\s*(\\w*)\\s*$/;h=z(f);U=e.$new(!0);ba&&ba===L.$$originalDirective?h.data(\"$isolateScope\",U):h.data(\"$isolateScopeNoTemplate\",U);S(h,\"ng-isolate-scope\");r(L.scope,function(a,c){var d=a.match(t)||[],f=d[3]||c,h=\"?\"==d[2],d=d[1],g,k,q,m;U.$$isolateBindings[c]=d+f;switch(d){case \"@\":K.$observe(f,function(a){U[c]=\na});K.$$observers[f].$$scope=e;K[f]&&(U[c]=b(K[f])(e));break;case \"=\":if(h&&!K[f])break;k=A(K[f]);m=k.literal?ta:function(a,b){return a===b};q=k.assign||function(){g=U[c]=k(e);throw ia(\"nonassign\",K[f],L.name);};g=U[c]=k(e);U.$watch(function(){var a=k(e);m(a,U[c])||(m(a,g)?q(e,a=U[c]):U[c]=a);return g=a},null,k.literal);break;case \"&\":k=A(K[f]);U[c]=function(a){return k(e,a)};break;default:throw ia(\"iscp\",L.name,c,a);}})}v=q&&p;W&&r(W,function(a){var b={$scope:a===L||a.$$isolateScope?U:e,$element:y,\n$attrs:K,$transclude:v},c;M=a.controller;\"@\"==M&&(M=K[a.name]);c=B(M,b);lb[a.name]=c;Ha||y.data(\"$\"+a.name+\"Controller\",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});h=0;for(u=g.length;h<u;h++)try{Y=g[h],Y(Y.isolateScope?U:e,y,K,Y.require&&G(Y.require,y,lb),v)}catch(J){m(J,ga(y))}h=e;L&&(L.template||null===L.templateUrl)&&(h=U);a&&a(h,f.childNodes,s,q);for(h=k.length-1;0<=h;h--)try{Y=k[h],Y(Y.isolateScope?U:e,y,K,Y.require&&G(Y.require,y,lb),v)}catch(jb){m(jb,ga(y))}}q=q||{};for(var y=-Number.MAX_VALUE,\nu,W=q.controllerDirectives,L=q.newIsolateScopeDirective,ba=q.templateDirective,v=q.nonTlbTranscludeDirective,Wa=!1,Ha=q.hasElementTranscludeDirective,J=d.$$element=z(c),F,ha,t,E=e,pa,C=0,P=a.length;C<P;C++){F=a[C];var Q=F.$$start,V=F.$$end;Q&&(J=M(c,Q,V));t=s;if(y>F.priority)break;if(t=F.scope)u=u||F,F.templateUrl||(R(\"new/isolated scope\",L,F,J),Z(t)&&(L=F));ha=F.name;!F.templateUrl&&F.controller&&(t=F.controller,W=W||{},R(\"'\"+ha+\"' controller\",W[ha],F,J),W[ha]=F);if(t=F.transclude)Wa=!0,F.$$tlb||\n(R(\"transclusion\",v,F,J),v=F),\"element\"==t?(Ha=!0,y=F.priority,t=M(c,Q,V),J=d.$$element=z(T.createComment(\" \"+ha+\": \"+d[ha]+\" \")),c=J[0],mb(f,z(ua.call(t,0)),c),E=Y(t,e,y,h&&h.name,{nonTlbTranscludeDirective:v})):(t=z(Db(c)).contents(),J.empty(),E=Y(t,e));if(F.template)if(R(\"template\",ba,F,J),ba=F,t=N(F.template)?F.template(J,d):F.template,t=X(t),F.replace){h=F;t=x(t);c=t[0];if(1!=t.length||1!==c.nodeType)throw ia(\"tplrt\",ha,\"\");mb(f,J,c);P={$attr:{}};t=U(c,[],P);var $=a.splice(C+1,a.length-(C+1));\nL&&kb(t);a=a.concat(t).concat($);w(d,P);P=a.length}else J.html(t);if(F.templateUrl)R(\"template\",ba,F,J),ba=F,F.replace&&(h=F),I=O(a.splice(C,a.length-C),J,d,f,E,g,k,{controllerDirectives:W,newIsolateScopeDirective:L,templateDirective:ba,nonTlbTranscludeDirective:v}),P=a.length;else if(F.compile)try{pa=F.compile(J,d,E),N(pa)?p(null,pa,Q,V):pa&&p(pa.pre,pa.post,Q,V)}catch(aa){m(aa,ga(J))}F.terminal&&(I.terminal=!0,y=Math.max(y,F.priority))}I.scope=u&&!0===u.scope;I.transclude=Wa&&E;q.hasElementTranscludeDirective=\nHa;return I}function kb(a){for(var b=0,c=a.length;b<c;b++)a[b]=Tb(a[b],{$$isolateScope:!0})}function v(b,e,f,h,g,q,l){if(e===g)return null;g=null;if(c.hasOwnProperty(e)){var p;e=a.get(e+d);for(var A=0,G=e.length;A<G;A++)try{p=e[A],(h===s||h>p.priority)&&-1!=p.restrict.indexOf(f)&&(q&&(p=Tb(p,{$$start:q,$$end:l})),b.push(p),g=p)}catch(B){m(B)}}return g}function w(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){\"$\"!=e.charAt(0)&&(b[e]&&(d+=(\"style\"===e?\";\":\" \")+b[e]),a.$set(e,d,!0,c[e]))});\nr(b,function(b,f){\"class\"==f?(S(e,b),a[\"class\"]=(a[\"class\"]?a[\"class\"]+\" \":\"\")+b):\"style\"==f?(e.attr(\"style\",e.attr(\"style\")+\";\"+b),a.style=(a.style?a.style+\";\":\"\")+b):\"$\"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function x(a){var b;a=da(a);if(b=g.exec(a)){b=b[1].toLowerCase();a=z(\"<table>\"+a+\"</table>\");var c=a.children(\"tbody\"),d=/(td|th)/.test(b)&&a.find(\"tr\");c.length&&\"tbody\"!==b&&(a=c);d&&d.length&&(a=d);return a.contents()}return z(\"<div>\"+a+\"</div>\").contents()}function O(a,\nb,c,d,e,f,h,g){var k=[],l,m,A=b[0],B=a.shift(),y=t({},B,{templateUrl:null,transclude:null,replace:null,$$originalDirective:B}),I=N(B.templateUrl)?B.templateUrl(b,c):B.templateUrl;b.empty();p.get(G.getTrustedResourceUrl(I),{cache:q}).success(function(q){var p,G;q=X(q);if(B.replace){q=x(q);p=q[0];if(1!=q.length||1!==p.nodeType)throw ia(\"tplrt\",B.name,I);q={$attr:{}};mb(d,b,p);var u=U(p,[],q);Z(B.scope)&&kb(u);a=u.concat(a);w(c,q)}else p=A,b.html(q);a.unshift(y);l=Wa(a,p,c,e,b,B,f,h,g);r(d,function(a,\nc){a==p&&(d[c]=b[0])});for(m=L(b[0].childNodes,e);k.length;){q=k.shift();G=k.shift();var W=k.shift(),Y=k.shift(),u=b[0];if(G!==A){var M=G.className;g.hasElementTranscludeDirective&&B.replace||(u=Db(p));mb(W,z(G),u);S(z(u),M)}G=l.transclude?ba(q,l.transclude):Y;l(m,q,u,d,G)}k=null}).error(function(a,b,c,d){throw ia(\"tpload\",d.url);});return function(a,b,c,d,e){k?(k.push(b),k.push(c),k.push(d),k.push(e)):l(m,b,c,d,e)}}function E(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<\nb.name?-1:1:a.index-b.index}function R(a,b,c,d){if(b)throw ia(\"multidir\",b.name,c.name,a,ga(d));}function C(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:aa(function(a,b){var c=b.parent(),e=c.data(\"$binding\")||[];e.push(d);S(c.data(\"$binding\",e),\"ng-binding\");a.$watch(d,function(a){b[0].nodeValue=a})})})}function Ha(a,b){if(\"srcdoc\"==b)return G.HTML;var c=Ga(a);if(\"xlinkHref\"==b||\"FORM\"==c&&\"action\"==b||\"IMG\"!=c&&(\"src\"==b||\"ngSrc\"==b))return G.RESOURCE_URL}function ha(a,c,d,e){var f=b(d,!0);if(f){if(\"multiple\"===\ne&&\"SELECT\"===Ga(a))throw ia(\"selmulti\",ga(a));c.push({priority:100,compile:function(){return{pre:function(c,d,g){d=g.$$observers||(g.$$observers={});if(h.test(e))throw ia(\"nodomevents\");if(f=b(g[e],!0,Ha(a,e)))g[e]=f(c),(d[e]||(d[e]=[])).$$inter=!0,(g.$$observers&&g.$$observers[e].$$scope||c).$watch(f,function(a,b){\"class\"===e&&a!=b?g.$updateClass(a,b):g.$set(e,a)})}}}})}}function mb(a,b,c){var d=b[0],e=b.length,f=d.parentNode,h,g;if(a)for(h=0,g=a.length;h<g;h++)if(a[h]==d){a[h++]=c;g=h+e-1;for(var k=\na.length;h<k;h++,g++)g<k?a[h]=a[g]:delete a[h];a.length-=e-1;break}f&&f.replaceChild(c,d);a=T.createDocumentFragment();a.appendChild(d);c[z.expando]=d[z.expando];d=1;for(e=b.length;d<e;d++)f=b[d],z(f).remove(),a.appendChild(f),delete b[d];b[0]=c;b.length=1}function lc(a,b){return t(function(){return a.apply(null,arguments)},a,b)}var Gb=function(a,b){this.$$element=a;this.$attr=b||{}};Gb.prototype={$normalize:la,$addClass:function(a){a&&0<a.length&&W.addClass(this.$$element,a)},$removeClass:function(a){a&&\n0<a.length&&W.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=mc(a,b),d=mc(b,a);0===c.length?W.removeClass(this.$$element,d):0===d.length?W.addClass(this.$$element,c):W.setClass(this.$$element,c,d)},$set:function(a,b,c,d){var e=hc(this.$$element[0],a);e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=db(a,\"-\"));e=Ga(this.$$element);if(\"A\"===e&&\"href\"===a||\"IMG\"===e&&\"src\"===a)this[a]=b=y(b,\"src\"===a);!1!==c&&(null===b||b===s?this.$$element.removeAttr(d):\nthis.$$element.attr(d,b));(c=this.$$observers)&&r(c[a],function(a){try{a(b)}catch(c){m(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);I.$evalAsync(function(){e.$$inter||b(c[a])});return b}};var Q=b.startSymbol(),V=b.endSymbol(),X=\"{{\"==Q||\"}}\"==V?Aa:function(a){return a.replace(/\\{\\{/g,Q).replace(/}}/g,V)},pa=/^ngAttr[A-Z]/;return Y}]}function la(b){return Ra(b.replace(jd,\"\"))}function mc(b,a){var c=\"\",d=b.split(/\\s+/),e=a.split(/\\s+/),f=0;\na:for(;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g==e[h])continue a;c+=(0<c.length?\" \":\"\")+g}return c}function kd(){var b={},a=/^(\\S+)(\\s+as\\s+(\\w+))?$/;this.register=function(a,d){wa(a,\"controller\");Z(a)?t(b,a):b[a]=d};this.$get=[\"$injector\",\"$window\",function(c,d){return function(e,f){var g,h,n;D(e)&&(g=e.match(a),h=g[1],n=g[3],e=b.hasOwnProperty(h)?b[h]:bc(f.$scope,h,!0)||bc(d,h,!0),Qa(e,h,!0));g=c.instantiate(e,f);if(n){if(!f||\"object\"!=typeof f.$scope)throw E(\"$controller\")(\"noscp\",\nh||e.name,n);f.$scope[n]=g}return g}}]}function ld(){this.$get=[\"$window\",function(b){return z(b.document)}]}function md(){this.$get=[\"$log\",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function nc(b){var a={},c,d,e;if(!b)return a;r(b.split(\"\\n\"),function(b){e=b.indexOf(\":\");c=O(da(b.substr(0,e)));d=da(b.substr(e+1));c&&(a[c]=a[c]?a[c]+(\", \"+d):d)});return a}function oc(b){var a=Z(b)?b:s;return function(c){a||(a=nc(b));return c?a[O(c)]||null:a}}function pc(b,a,c){if(N(c))return c(b,\na);r(c,function(c){b=c(b,a)});return b}function nd(){var b=/^\\s*(\\[|\\{[^\\{])/,a=/[\\}\\]]\\s*$/,c=/^\\)\\]\\}',?\\n/,d={\"Content-Type\":\"application/json;charset=utf-8\"},e=this.defaults={transformResponse:[function(d){D(d)&&(d=d.replace(c,\"\"),b.test(d)&&a.test(d)&&(d=Wb(d)));return d}],transformRequest:[function(a){return Z(a)&&\"[object File]\"!==Ma.call(a)?oa(a):a}],headers:{common:{Accept:\"application/json, text/plain, */*\"},post:ca(d),put:ca(d),patch:ca(d)},xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\"},\nf=this.interceptors=[],g=this.responseInterceptors=[];this.$get=[\"$httpBackend\",\"$browser\",\"$cacheFactory\",\"$rootScope\",\"$q\",\"$injector\",function(a,b,c,d,m,p){function q(a){function c(a){var b=t({},a,{data:pc(a.data,a.headers,d.transformResponse)});return 200<=a.status&&300>a.status?b:m.reject(b)}var d={transformRequest:e.transformRequest,transformResponse:e.transformResponse},f=function(a){function b(a){var c;r(a,function(b,d){N(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var c=e.headers,d=t({},a.headers),\nf,h,c=t({},c.common,c[O(a.method)]);b(c);b(d);a:for(f in c){a=O(f);for(h in d)if(O(h)===a)continue a;d[f]=c[f]}return d}(a);t(d,a);d.headers=f;d.method=Ia(d.method);(a=Hb(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(f[d.xsrfHeaderName||e.xsrfHeaderName]=a);var h=[function(a){f=a.headers;var b=pc(a.data,oc(f),a.transformRequest);x(a.data)&&r(f,function(a,b){\"content-type\"===O(b)&&delete f[b]});x(a.withCredentials)&&!x(e.withCredentials)&&(a.withCredentials=e.withCredentials);return A(a,\nb,f).then(c,c)},s],g=m.when(d);for(r(u,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError);(a.response||a.responseError)&&h.push(a.response,a.responseError)});h.length;){a=h.shift();var k=h.shift(),g=g.then(a,k)}g.success=function(a){g.then(function(b){a(b.data,b.status,b.headers,d)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,d)});return g};return g}function A(b,c,f){function g(a,b,c){u&&(200<=a&&300>a?u.put(s,[a,b,nc(c)]):u.remove(s));\nk(b,a,c);d.$$phase||d.$apply()}function k(a,c,d){c=Math.max(c,0);(200<=c&&300>c?p.resolve:p.reject)({data:a,status:c,headers:oc(d),config:b})}function n(){var a=bb(q.pendingRequests,b);-1!==a&&q.pendingRequests.splice(a,1)}var p=m.defer(),A=p.promise,u,r,s=B(b.url,b.params);q.pendingRequests.push(b);A.then(n,n);(b.cache||e.cache)&&(!1!==b.cache&&\"GET\"==b.method)&&(u=Z(b.cache)?b.cache:Z(e.cache)?e.cache:I);if(u)if(r=u.get(s),v(r)){if(r.then)return r.then(n,n),r;H(r)?k(r[1],r[0],ca(r[2])):k(r,200,\n{})}else u.put(s,A);x(r)&&a(b.method,s,c,g,f,b.timeout,b.withCredentials,b.responseType);return A}function B(a,b){if(!b)return a;var c=[];Qc(b,function(a,b){null===a||x(a)||(H(a)||(a=[a]),r(a,function(a){Z(a)&&(a=oa(a));c.push(va(b)+\"=\"+va(a))}))});return a+(-1==a.indexOf(\"?\")?\"?\":\"&\")+c.join(\"&\")}var I=c(\"$http\"),u=[];r(f,function(a){u.unshift(D(a)?p.get(a):p.invoke(a))});r(g,function(a,b){var c=D(a)?p.get(a):p.invoke(a);u.splice(b,0,{response:function(a){return c(m.when(a))},responseError:function(a){return c(m.reject(a))}})});\nq.pendingRequests=[];(function(a){r(arguments,function(a){q[a]=function(b,c){return q(t(c||{},{method:a,url:b}))}})})(\"get\",\"delete\",\"head\",\"jsonp\");(function(a){r(arguments,function(a){q[a]=function(b,c,d){return q(t(d||{},{method:a,url:b,data:c}))}})})(\"post\",\"put\");q.defaults=e;return q}]}function od(b){if(8>=P&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!C.XMLHttpRequest))return new C.ActiveXObject(\"Microsoft.XMLHTTP\");if(C.XMLHttpRequest)return new C.XMLHttpRequest;throw E(\"$httpBackend\")(\"noxhr\");\n}function pd(){this.$get=[\"$browser\",\"$window\",\"$document\",function(b,a,c){return qd(b,od,b.defer,a.angular.callbacks,c[0])}]}function qd(b,a,c,d,e){function f(a,b){var c=e.createElement(\"script\"),d=function(){c.onreadystatechange=c.onload=c.onerror=null;e.body.removeChild(c);b&&b()};c.type=\"text/javascript\";c.src=a;P&&8>=P?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=function(){d()};e.body.appendChild(c);return d}var g=-1;return function(e,n,k,l,m,\np,q,A){function B(){u=g;W&&W();y&&y.abort()}function I(a,d,e,f){S&&c.cancel(S);W=y=null;d=0===d?e?200:404:d;a(1223==d?204:d,e,f);b.$$completeOutstandingRequest(w)}var u;b.$$incOutstandingRequestCount();n=n||b.url();if(\"jsonp\"==O(e)){var G=\"_\"+(d.counter++).toString(36);d[G]=function(a){d[G].data=a};var W=f(n.replace(\"JSON_CALLBACK\",\"angular.callbacks.\"+G),function(){d[G].data?I(l,200,d[G].data):I(l,u||-2);d[G]=Ba.noop})}else{var y=a(e);y.open(e,n,!0);r(m,function(a,b){v(a)&&y.setRequestHeader(b,a)});\ny.onreadystatechange=function(){if(y&&4==y.readyState){var a=null,b=null;u!==g&&(a=y.getAllResponseHeaders(),b=\"response\"in y?y.response:y.responseText);I(l,u||y.status,b,a)}};q&&(y.withCredentials=!0);if(A)try{y.responseType=A}catch(Y){if(\"json\"!==A)throw Y;}y.send(k||null)}if(0<p)var S=c(B,p);else p&&p.then&&p.then(B)}}function rd(){var b=\"{{\",a=\"}}\";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=[\"$parse\",\"$exceptionHandler\",\"$sce\",\nfunction(c,d,e){function f(f,k,l){for(var m,p,q=0,A=[],B=f.length,I=!1,u=[];q<B;)-1!=(m=f.indexOf(b,q))&&-1!=(p=f.indexOf(a,m+g))?(q!=m&&A.push(f.substring(q,m)),A.push(q=c(I=f.substring(m+g,p))),q.exp=I,q=p+h,I=!0):(q!=B&&A.push(f.substring(q)),q=B);(B=A.length)||(A.push(\"\"),B=1);if(l&&1<A.length)throw qc(\"noconcat\",f);if(!k||I)return u.length=B,q=function(a){try{for(var b=0,c=B,h;b<c;b++)\"function\"==typeof(h=A[b])&&(h=h(a),h=l?e.getTrusted(l,h):e.valueOf(h),null===h||x(h)?h=\"\":\"string\"!=typeof h&&\n(h=oa(h))),u[b]=h;return u.join(\"\")}catch(g){a=qc(\"interr\",f,g.toString()),d(a)}},q.exp=f,q.parts=A,q}var g=b.length,h=a.length;f.startSymbol=function(){return b};f.endSymbol=function(){return a};return f}]}function sd(){this.$get=[\"$rootScope\",\"$window\",\"$q\",function(b,a,c){function d(d,g,h,n){var k=a.setInterval,l=a.clearInterval,m=c.defer(),p=m.promise,q=0,A=v(n)&&!n;h=v(h)?h:0;p.then(null,null,d);p.$$intervalId=k(function(){m.notify(q++);0<h&&q>=h&&(m.resolve(q),l(p.$$intervalId),delete e[p.$$intervalId]);\nA||b.$apply()},g);e[p.$$intervalId]=m;return p}var e={};d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject(\"canceled\"),clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1};return d}]}function td(){this.$get=function(){return{id:\"en-us\",NUMBER_FORMATS:{DECIMAL_SEP:\".\",GROUP_SEP:\",\",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:\"\",posSuf:\"\",negPre:\"-\",negSuf:\"\",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:\"\\u00a4\",posSuf:\"\",negPre:\"(\\u00a4\",negSuf:\")\",\ngSize:3,lgSize:3}],CURRENCY_SYM:\"$\"},DATETIME_FORMATS:{MONTH:\"January February March April May June July August September October November December\".split(\" \"),SHORTMONTH:\"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),DAY:\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),SHORTDAY:\"Sun Mon Tue Wed Thu Fri Sat\".split(\" \"),AMPMS:[\"AM\",\"PM\"],medium:\"MMM d, y h:mm:ss a\",\"short\":\"M/d/yy h:mm a\",fullDate:\"EEEE, MMMM d, y\",longDate:\"MMMM d, y\",mediumDate:\"MMM d, y\",shortDate:\"M/d/yy\",\nmediumTime:\"h:mm:ss a\",shortTime:\"h:mm a\"},pluralCat:function(b){return 1===b?\"one\":\"other\"}}}}function rc(b){b=b.split(\"/\");for(var a=b.length;a--;)b[a]=xb(b[a]);return b.join(\"/\")}function sc(b,a,c){b=xa(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=Q(b.port)||ud[b.protocol]||null}function tc(b,a,c){var d=\"/\"!==b.charAt(0);d&&(b=\"/\"+b);b=xa(b,c);a.$$path=decodeURIComponent(d&&\"/\"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=Yb(b.search);a.$$hash=decodeURIComponent(b.hash);\na.$$path&&\"/\"!=a.$$path.charAt(0)&&(a.$$path=\"/\"+a.$$path)}function ma(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Xa(b){var a=b.indexOf(\"#\");return-1==a?b:b.substr(0,a)}function Ib(b){return b.substr(0,Xa(b).lastIndexOf(\"/\")+1)}function uc(b,a){this.$$html5=!0;a=a||\"\";var c=Ib(b);sc(b,this,b);this.$$parse=function(a){var e=ma(c,a);if(!D(e))throw Jb(\"ipthprfx\",a,c);tc(e,this,b);this.$$path||(this.$$path=\"/\");this.$$compose()};this.$$compose=function(){var a=Zb(this.$$search),b=this.$$hash?\n\"#\"+xb(this.$$hash):\"\";this.$$url=rc(this.$$path)+(a?\"?\"+a:\"\")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;if((e=ma(b,d))!==s)return d=e,(e=ma(a,e))!==s?c+(ma(\"/\",e)||e):b+d;if((e=ma(c,d))!==s)return c+e;if(c==d+\"/\")return c}}function Kb(b,a){var c=Ib(b);sc(b,this,b);this.$$parse=function(d){var e=ma(b,d)||ma(c,d),e=\"#\"==e.charAt(0)?ma(a,e):this.$$html5?e:\"\";if(!D(e))throw Jb(\"ihshprfx\",d,a);tc(e,this,b);d=this.$$path;var f=/^\\/?.*?:(\\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,\n\"\"));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Zb(this.$$search),e=this.$$hash?\"#\"+xb(this.$$hash):\"\";this.$$url=rc(this.$$path)+(c?\"?\"+c:\"\")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:\"\")};this.$$rewrite=function(a){if(Xa(b)==Xa(a))return a}}function vc(b,a){this.$$html5=!0;Kb.apply(this,arguments);var c=Ib(b);this.$$rewrite=function(d){var e;if(b==Xa(d))return d;if(e=ma(c,d))return b+a+e;if(c===d+\"/\")return c}}function nb(b){return function(){return this[b]}}\nfunction wc(b,a){return function(c){if(x(c))return this[b];this[b]=a(c);this.$$compose();return this}}function vd(){var b=\"\",a=!1;this.hashPrefix=function(a){return v(a)?(b=a,this):b};this.html5Mode=function(b){return v(b)?(a=b,this):a};this.$get=[\"$rootScope\",\"$browser\",\"$sniffer\",\"$rootElement\",function(c,d,e,f){function g(a){c.$broadcast(\"$locationChangeSuccess\",h.absUrl(),a)}var h,n=d.baseHref(),k=d.url();a?(n=k.substring(0,k.indexOf(\"/\",k.indexOf(\"//\")+2))+(n||\"/\"),e=e.history?uc:vc):(n=Xa(k),\ne=Kb);h=new e(n,\"#\"+b);h.$$parse(h.$$rewrite(k));f.on(\"click\",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=z(a.target);\"a\"!==O(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop(\"href\");Z(e)&&\"[object SVGAnimatedString]\"===e.toString()&&(e=xa(e.animVal).href);var g=h.$$rewrite(e);e&&(!b.attr(\"target\")&&g&&!a.isDefaultPrevented())&&(a.preventDefault(),g!=d.url()&&(h.$$parse(g),c.$apply(),C.angular[\"ff-684208-preventDefault\"]=!0))}});h.absUrl()!=k&&d.url(h.absUrl(),\n!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);c.$broadcast(\"$locationChangeStart\",a,b).defaultPrevented?(h.$$parse(b),d.url(b)):g(b)}),c.$$phase||c.$digest())});var l=0;c.$watch(function(){var a=d.url(),b=h.$$replace;l&&a==h.absUrl()||(l++,c.$evalAsync(function(){c.$broadcast(\"$locationChangeStart\",h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),g(a))}));h.$$replace=!1;return l});return h}]}function wd(){var b=!0,a=this;this.debugEnabled=\nfunction(a){return v(a)?(b=a,this):b};this.$get=[\"$window\",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?\"Error: \"+a.message+\"\\n\"+a.stack:a.stack:a.sourceURL&&(a=a.message+\"\\n\"+a.sourceURL+\":\"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||w;a=!1;try{a=!!e.apply}catch(n){}return a?function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?\"\":b)}}return{log:e(\"log\"),info:e(\"info\"),\nwarn:e(\"warn\"),error:e(\"error\"),debug:function(){var c=e(\"debug\");return function(){b&&c.apply(a,arguments)}}()}}]}function ea(b,a){if(\"constructor\"===b)throw ya(\"isecfld\",a);return b}function Ya(b,a){if(b){if(b.constructor===b)throw ya(\"isecfn\",a);if(b.document&&b.location&&b.alert&&b.setInterval)throw ya(\"isecwindow\",a);if(b.children&&(b.nodeName||b.on&&b.find))throw ya(\"isecdom\",a);}return b}function ob(b,a,c,d,e){e=e||{};a=a.split(\".\");for(var f,g=0;1<a.length;g++){f=ea(a.shift(),d);var h=b[f];\nh||(h={},b[f]=h);b=h;b.then&&e.unwrapPromises&&(qa(d),\"$$v\"in b||function(a){a.then(function(b){a.$$v=b})}(b),b.$$v===s&&(b.$$v={}),b=b.$$v)}f=ea(a.shift(),d);return b[f]=c}function xc(b,a,c,d,e,f,g){ea(b,f);ea(a,f);ea(c,f);ea(d,f);ea(e,f);return g.unwrapPromises?function(h,g){var k=g&&g.hasOwnProperty(b)?g:h,l;if(null==k)return k;(k=k[b])&&k.then&&(qa(f),\"$$v\"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!a)return k;if(null==k)return s;(k=k[a])&&k.then&&(qa(f),\"$$v\"in k||(l=k,l.$$v=\ns,l.then(function(a){l.$$v=a})),k=k.$$v);if(!c)return k;if(null==k)return s;(k=k[c])&&k.then&&(qa(f),\"$$v\"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!d)return k;if(null==k)return s;(k=k[d])&&k.then&&(qa(f),\"$$v\"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!e)return k;if(null==k)return s;(k=k[e])&&k.then&&(qa(f),\"$$v\"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);return k}:function(f,g){var k=g&&g.hasOwnProperty(b)?g:f;if(null==k)return k;k=k[b];if(!a)return k;\nif(null==k)return s;k=k[a];if(!c)return k;if(null==k)return s;k=k[c];if(!d)return k;if(null==k)return s;k=k[d];return e?null==k?s:k=k[e]:k}}function xd(b,a){ea(b,a);return function(a,d){return null==a?s:(d&&d.hasOwnProperty(b)?d:a)[b]}}function yd(b,a,c){ea(b,c);ea(a,c);return function(c,e){if(null==c)return s;c=(e&&e.hasOwnProperty(b)?e:c)[b];return null==c?s:c[a]}}function yc(b,a,c){if(Lb.hasOwnProperty(b))return Lb[b];var d=b.split(\".\"),e=d.length,f;if(a.unwrapPromises||1!==e)if(a.unwrapPromises||\n2!==e)if(a.csp)f=6>e?xc(d[0],d[1],d[2],d[3],d[4],c,a):function(b,f){var h=0,g;do g=xc(d[h++],d[h++],d[h++],d[h++],d[h++],c,a)(b,f),f=s,b=g;while(h<e);return g};else{var g=\"var p;\\n\";r(d,function(b,d){ea(b,c);g+=\"if(s == null) return undefined;\\ns=\"+(d?\"s\":'((k&&k.hasOwnProperty(\"'+b+'\"))?k:s)')+'[\"'+b+'\"];\\n'+(a.unwrapPromises?'if (s && s.then) {\\n pw(\"'+c.replace(/([\"\\r\\n])/g,\"\\\\$1\")+'\");\\n if (!(\"$$v\" in s)) {\\n p=s;\\n p.$$v = undefined;\\n p.then(function(v) {p.$$v=v;});\\n}\\n s=s.$$v\\n}\\n':\"\")});\nvar g=g+\"return s;\",h=new Function(\"s\",\"k\",\"pw\",g);h.toString=aa(g);f=a.unwrapPromises?function(a,b){return h(a,b,qa)}:h}else f=yd(d[0],d[1],c);else f=xd(d[0],c);\"hasOwnProperty\"!==b&&(Lb[b]=f);return f}function zd(){var b={},a={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(b){return v(b)?(a.unwrapPromises=!!b,this):a.unwrapPromises};this.logPromiseWarnings=function(b){return v(b)?(a.logPromiseWarnings=b,this):a.logPromiseWarnings};this.$get=[\"$filter\",\"$sniffer\",\"$log\",\nfunction(c,d,e){a.csp=d.csp;qa=function(b){a.logPromiseWarnings&&!zc.hasOwnProperty(b)&&(zc[b]=!0,e.warn(\"[$parse] Promise found in the expression `\"+b+\"`. Automatic unwrapping of promises in Angular expressions is deprecated.\"))};return function(d){var e;switch(typeof d){case \"string\":if(b.hasOwnProperty(d))return b[d];e=new Mb(a);e=(new Za(e,c,a)).parse(d,!1);\"hasOwnProperty\"!==d&&(b[d]=e);return e;case \"function\":return d;default:return w}}}]}function Ad(){this.$get=[\"$rootScope\",\"$exceptionHandler\",\nfunction(b,a){return Bd(function(a){b.$evalAsync(a)},a)}]}function Bd(b,a){function c(a){return a}function d(a){return g(a)}var e=function(){var g=[],k,l;return l={resolve:function(a){if(g){var c=g;g=s;k=f(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],k.then(a[0],a[1],a[2])})}},reject:function(a){l.resolve(h(a))},notify:function(a){if(g){var c=g;g.length&&b(function(){for(var b,d=0,e=c.length;d<e;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,h){var l=e(),B=function(d){try{l.resolve((N(b)?\nb:c)(d))}catch(e){l.reject(e),a(e)}},I=function(b){try{l.resolve((N(f)?f:d)(b))}catch(c){l.reject(c),a(c)}},u=function(b){try{l.notify((N(h)?h:c)(b))}catch(d){a(d)}};g?g.push([B,I,u]):k.then(B,I,u);return l.promise},\"catch\":function(a){return this.then(null,a)},\"finally\":function(a){function b(a,c){var d=e();c?d.resolve(a):d.reject(a);return d.promise}function d(e,f){var h=null;try{h=(a||c)()}catch(g){return b(g,!1)}return h&&N(h.then)?h.then(function(){return b(e,f)},function(a){return b(a,!1)}):\nb(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&N(a.then)?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},g=function(a){var b=e();b.reject(a);return b.promise},h=function(c){return{then:function(f,h){var g=e();b(function(){try{g.resolve((N(h)?h:d)(c))}catch(b){g.reject(b),a(b)}});return g.promise}}};return{defer:e,reject:g,when:function(h,k,l,m){var p=e(),q,A=function(b){try{return(N(k)?k:c)(b)}catch(d){return a(d),\ng(d)}},B=function(b){try{return(N(l)?l:d)(b)}catch(c){return a(c),g(c)}},r=function(b){try{return(N(m)?m:c)(b)}catch(d){a(d)}};b(function(){f(h).then(function(a){q||(q=!0,p.resolve(f(a).then(A,B,r)))},function(a){q||(q=!0,p.resolve(B(a)))},function(a){q||p.notify(r(a))})});return p.promise},all:function(a){var b=e(),c=0,d=H(a)?[]:{};r(a,function(a,e){c++;f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise}}}\nfunction Cd(){var b=10,a=E(\"$rootScope\"),c=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=[\"$injector\",\"$exceptionHandler\",\"$parse\",\"$browser\",function(d,e,f,g){function h(){this.$id=$a();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this[\"this\"]=this.$root=this;this.$$destroyed=!1;this.$$asyncQueue=[];this.$$postDigestQueue=[];this.$$listeners={};this.$$listenerCount={};this.$$isolateBindings={}}\nfunction n(b){if(p.$$phase)throw a(\"inprog\",p.$$phase);p.$$phase=b}function k(a,b){var c=f(a);Qa(c,b);return c}function l(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function m(){}h.prototype={constructor:h,$new:function(a){a?(a=new h,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(a=function(){},a.prototype=this,a=new a,a.$id=$a());a[\"this\"]=a;a.$$listeners={};a.$$listenerCount={};a.$parent=\nthis;a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,d){var e=k(a,\"watch\"),f=this.$$watchers,h={fn:b,last:m,get:e,exp:a,eq:!!d};c=null;if(!N(b)){var g=k(b||w,\"listener\");h.fn=function(a,b,c){g(c)}}if(\"string\"==typeof a&&e.constant){var n=h.fn;h.fn=function(a,b,c){n.call(this,a,b,c);Na(f,h)}}f||(f=this.$$watchers=[]);f.unshift(h);\nreturn function(){Na(f,h);c=null}},$watchCollection:function(a,b){var c=this,d,e,h=0,g=f(a),k=[],n={},l=0;return this.$watch(function(){e=g(c);var a,b;if(Z(e))if(vb(e))for(d!==k&&(d=k,l=d.length=0,h++),a=e.length,l!==a&&(h++,d.length=l=a),b=0;b<a;b++)d[b]!==e[b]&&(h++,d[b]=e[b]);else{d!==n&&(d=n={},l=0,h++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(h++,d[b]=e[b]):(l++,d[b]=e[b],h++));if(l>a)for(b in h++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(l--,delete d[b])}else d!==\ne&&(d=e,h++);return h},function(){b(e,d,c)})},$digest:function(){var d,f,h,g,k=this.$$asyncQueue,l=this.$$postDigestQueue,r,y,s=b,S,L=[],v,t,M;n(\"$digest\");c=null;do{y=!1;for(S=this;k.length;){try{M=k.shift(),M.scope.$eval(M.expression)}catch(z){p.$$phase=null,e(z)}c=null}a:do{if(g=S.$$watchers)for(r=g.length;r--;)try{if(d=g[r])if((f=d.get(S))!==(h=d.last)&&!(d.eq?ta(f,h):\"number\"==typeof f&&\"number\"==typeof h&&isNaN(f)&&isNaN(h)))y=!0,c=d,d.last=d.eq?ca(f):f,d.fn(f,h===m?f:h,S),5>s&&(v=4-s,L[v]||\n(L[v]=[]),t=N(d.exp)?\"fn: \"+(d.exp.name||d.exp.toString()):d.exp,t+=\"; newVal: \"+oa(f)+\"; oldVal: \"+oa(h),L[v].push(t));else if(d===c){y=!1;break a}}catch(D){p.$$phase=null,e(D)}if(!(g=S.$$childHead||S!==this&&S.$$nextSibling))for(;S!==this&&!(g=S.$$nextSibling);)S=S.$parent}while(S=g);if((y||k.length)&&!s--)throw p.$$phase=null,a(\"infdig\",b,oa(L));}while(y||k.length);for(p.$$phase=null;l.length;)try{l.shift()()}catch(w){e(w)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast(\"$destroy\");\nthis.$$destroyed=!0;this!==p&&(r(this.$$listenerCount,cb(null,l,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null)}},$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){p.$$phase||p.$$asyncQueue.length||\ng.defer(function(){p.$$asyncQueue.length&&p.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return n(\"$apply\"),this.$eval(a)}catch(b){e(b)}finally{p.$$phase=null;try{p.$digest()}catch(c){throw e(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[bb(c,\nb)]=null;l(e,1,a)}},$emit:function(a,b){var c=[],d,f=this,h=!1,g={name:a,targetScope:f,stopPropagation:function(){h=!0},preventDefault:function(){g.defaultPrevented=!0},defaultPrevented:!1},k=[g].concat(ua.call(arguments,1)),n,l;do{d=f.$$listeners[a]||c;g.currentScope=f;n=0;for(l=d.length;n<l;n++)if(d[n])try{d[n].apply(null,k)}catch(p){e(p)}else d.splice(n,1),n--,l--;if(h)break;f=f.$parent}while(f);return g},$broadcast:function(a,b){for(var c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=\n!0},defaultPrevented:!1},h=[f].concat(ua.call(arguments,1)),g,k;c=d;){f.currentScope=c;d=c.$$listeners[a]||[];g=0;for(k=d.length;g<k;g++)if(d[g])try{d[g].apply(null,h)}catch(n){e(n)}else d.splice(g,1),g--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}return f}};var p=new h;return p}]}function Dd(){var b=/^\\s*(https?|ftp|mailto|tel|file):/,a=/^\\s*(https?|ftp|file):|data:image\\//;this.aHrefSanitizationWhitelist=function(a){return v(a)?\n(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return v(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;if(!P||8<=P)if(f=xa(c).href,\"\"!==f&&!f.match(e))return\"unsafe:\"+f;return c}}}function Ed(b){if(\"self\"===b)return b;if(D(b)){if(-1<b.indexOf(\"***\"))throw ra(\"iwcard\",b);b=b.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\").replace(/\\x08/g,\"\\\\x08\").replace(\"\\\\*\\\\*\",\".*\").replace(\"\\\\*\",\"[^:/.?&;]*\");return RegExp(\"^\"+b+\"$\")}if(ab(b))return RegExp(\"^\"+b.source+\"$\");\nthrow ra(\"imatcher\");}function Ac(b){var a=[];v(b)&&r(b,function(b){a.push(Ed(b))});return a}function Fd(){this.SCE_CONTEXTS=fa;var b=[\"self\"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=Ac(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=Ac(b));return a};this.$get=[\"$injector\",function(c){function d(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};\nb.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var e=function(a){throw ra(\"unsafe\");};c.has(\"$sanitize\")&&(e=c.get(\"$sanitize\"));var f=d(),g={};g[fa.HTML]=d(f);g[fa.CSS]=d(f);g[fa.URL]=d(f);g[fa.JS]=d(f);g[fa.RESOURCE_URL]=d(g[fa.URL]);return{trustAs:function(a,b){var c=g.hasOwnProperty(a)?g[a]:null;if(!c)throw ra(\"icontext\",a,b);if(null===b||b===s||\"\"===b)return b;if(\"string\"!==typeof b)throw ra(\"itype\",a);return new c(b)},getTrusted:function(c,d){if(null===\nd||d===s||\"\"===d)return d;var f=g.hasOwnProperty(c)?g[c]:null;if(f&&d instanceof f)return d.$$unwrapTrustedValue();if(c===fa.RESOURCE_URL){var f=xa(d.toString()),l,m,p=!1;l=0;for(m=b.length;l<m;l++)if(\"self\"===b[l]?Hb(f):b[l].exec(f.href)){p=!0;break}if(p)for(l=0,m=a.length;l<m;l++)if(\"self\"===a[l]?Hb(f):a[l].exec(f.href)){p=!1;break}if(p)return d;throw ra(\"insecurl\",d.toString());}if(c===fa.HTML)return e(d);throw ra(\"unsafe\");},valueOf:function(a){return a instanceof f?a.$$unwrapTrustedValue():a}}}]}\nfunction Gd(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=[\"$parse\",\"$sniffer\",\"$sceDelegate\",function(a,c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw ra(\"iequirks\");var e=ca(fa);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Aa);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,\ng=e.getTrusted,h=e.trustAs;r(fa,function(a,b){var c=O(b);e[Ra(\"parse_as_\"+c)]=function(b){return f(a,b)};e[Ra(\"get_trusted_\"+c)]=function(b){return g(a,b)};e[Ra(\"trust_as_\"+c)]=function(b){return h(a,b)}});return e}]}function Hd(){this.$get=[\"$window\",\"$document\",function(b,a){var c={},d=Q((/android (\\d+)/.exec(O((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g=f.documentMode,h,n=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=f.body&&f.body.style,l=!1,m=!1;if(k){for(var p in k)if(l=\nn.exec(p)){h=l[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h=\"WebkitOpacity\"in k&&\"webkit\");l=!!(\"transition\"in k||h+\"Transition\"in k);m=!!(\"animation\"in k||h+\"Animation\"in k);!d||l&&m||(l=D(f.body.style.webkitTransition),m=D(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:\"onhashchange\"in b&&(!g||7<g),hasEvent:function(a){if(\"input\"==a&&9==P)return!1;if(x(c[a])){var b=f.createElement(\"div\");c[a]=\"on\"+a in b}return c[a]},csp:Vb(),vendorPrefix:h,\ntransitions:l,animations:m,android:d,msie:P,msieDocumentMode:g}}]}function Id(){this.$get=[\"$rootScope\",\"$browser\",\"$q\",\"$exceptionHandler\",function(b,a,c,d){function e(e,h,n){var k=c.defer(),l=k.promise,m=v(n)&&!n;h=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}finally{delete f[l.$$timeoutId]}m||b.$apply()},h);l.$$timeoutId=h;f[h]=k;return l}var f={};e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject(\"canceled\"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):\n!1};return e}]}function xa(b,a){var c=b;P&&(V.setAttribute(\"href\",c),c=V.href);V.setAttribute(\"href\",c);return{href:V.href,protocol:V.protocol?V.protocol.replace(/:$/,\"\"):\"\",host:V.host,search:V.search?V.search.replace(/^\\?/,\"\"):\"\",hash:V.hash?V.hash.replace(/^#/,\"\"):\"\",hostname:V.hostname,port:V.port,pathname:\"/\"===V.pathname.charAt(0)?V.pathname:\"/\"+V.pathname}}function Hb(b){b=D(b)?xa(b):b;return b.protocol===Bc.protocol&&b.host===Bc.host}function Jd(){this.$get=aa(C)}function Cc(b){function a(d,\ne){if(Z(d)){var f={};r(d,function(b,c){f[c]=a(c,b)});return f}return b.factory(d+c,e)}var c=\"Filter\";this.register=a;this.$get=[\"$injector\",function(a){return function(b){return a.get(b+c)}}];a(\"currency\",Dc);a(\"date\",Ec);a(\"filter\",Kd);a(\"json\",Ld);a(\"limitTo\",Md);a(\"lowercase\",Nd);a(\"number\",Fc);a(\"orderBy\",Gc);a(\"uppercase\",Od)}function Kd(){return function(b,a,c){if(!H(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0};\"function\"!==d&&\n(c=\"boolean\"===d&&c?function(a,b){return Ba.equals(a,b)}:function(a,b){if(a&&b&&\"object\"===typeof a&&\"object\"===typeof b){for(var d in a)if(\"$\"!==d.charAt(0)&&Pd.call(a,d)&&c(a[d],b[d]))return!0;return!1}b=(\"\"+b).toLowerCase();return-1<(\"\"+a).toLowerCase().indexOf(b)});var f=function(a,b){if(\"string\"==typeof b&&\"!\"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case \"boolean\":case \"number\":case \"string\":return c(a,b);case \"object\":switch(typeof b){case \"object\":return c(a,b);default:for(var d in a)if(\"$\"!==\nd.charAt(0)&&f(a[d],b))return!0}return!1;case \"array\":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};switch(typeof a){case \"boolean\":case \"number\":case \"string\":a={$:a};case \"object\":for(var g in a)(function(b){\"undefined\"!=typeof a[b]&&e.push(function(c){return f(\"$\"==b?c:c&&c[b],a[b])})})(g);break;case \"function\":e.push(a);break;default:return b}d=[];for(g=0;g<b.length;g++){var h=b[g];e.check(h)&&d.push(h)}return d}}function Dc(b){var a=b.NUMBER_FORMATS;return function(b,\nd){x(d)&&(d=a.CURRENCY_SYM);return Hc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\\u00A4/g,d)}}function Fc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Hc(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Hc(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return\"\";var f=0>b;b=Math.abs(b);var g=b+\"\",h=\"\",n=[],k=!1;if(-1!==g.indexOf(\"e\")){var l=g.match(/([\\d\\.]+)e(-?)(\\d+)/);l&&\"-\"==l[2]&&l[3]>e+1?g=\"0\":(h=g,k=!0)}if(k)0<e&&(-1<b&&1>b)&&(h=b.toFixed(e));else{g=(g.split(Ic)[1]||\"\").length;\nx(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));g=Math.pow(10,e);b=Math.round(b*g)/g;b=(\"\"+b).split(Ic);g=b[0];b=b[1]||\"\";var l=0,m=a.lgSize,p=a.gSize;if(g.length>=m+p)for(l=g.length-m,k=0;k<l;k++)0===(l-k)%p&&0!==k&&(h+=c),h+=g.charAt(k);for(k=l;k<g.length;k++)0===(g.length-k)%m&&0!==k&&(h+=c),h+=g.charAt(k);for(;b.length<e;)b+=\"0\";e&&\"0\"!==e&&(h+=d+b.substr(0,e))}n.push(f?a.negPre:a.posPre);n.push(h);n.push(f?a.negSuf:a.posSuf);return n.join(\"\")}function Nb(b,a,c){var d=\"\";0>b&&(d=\"-\",b=-b);\nfor(b=\"\"+b;b.length<a;)b=\"0\"+b;c&&(b=b.substr(b.length-a));return d+b}function $(b,a,c,d){c=c||0;return function(e){e=e[\"get\"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return Nb(e,a,d)}}function pb(b,a){return function(c,d){var e=c[\"get\"+b](),f=Ia(a?\"SHORT\"+b:b);return d[f][e]}}function Ec(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,n=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Q(b[9]+b[10]),g=Q(b[9]+b[11]));h.call(a,Q(b[1]),Q(b[2])-1,Q(b[3]));\nf=Q(b[4]||0)-f;g=Q(b[5]||0)-g;h=Q(b[6]||0);b=Math.round(1E3*parseFloat(\"0.\"+(b[7]||0)));n.call(a,f,g,h,b)}return a}var c=/^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;return function(c,e){var f=\"\",g=[],h,n;e=e||\"mediumDate\";e=b.DATETIME_FORMATS[e]||e;D(c)&&(c=Qd.test(c)?Q(c):a(c));wb(c)&&(c=new Date(c));if(!La(c))return c;for(;e;)(n=Rd.exec(e))?(g=g.concat(ua.call(n,1)),e=g.pop()):(g.push(e),e=null);r(g,function(a){h=Sd[a];f+=h?h(c,b.DATETIME_FORMATS):\na.replace(/(^'|'$)/g,\"\").replace(/''/g,\"'\")});return f}}function Ld(){return function(b){return oa(b,!0)}}function Md(){return function(b,a){if(!H(b)&&!D(b))return b;a=Q(a);if(D(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):\"\";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0<a?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Gc(b){return function(a,c,d){function e(a,b){return Pa(b)?function(b,c){return a(c,b)}:a}if(!H(a)||!c)return a;c=H(c)?c:[c];\nc=Sc(c,function(a){var c=!1,d=a||Aa;if(D(a)){if(\"+\"==a.charAt(0)||\"-\"==a.charAt(0))c=\"-\"==a.charAt(0),a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,h=typeof e;f==h?(\"string\"==f&&(c=c.toLowerCase(),e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<h?-1:1;return c},c)});for(var f=[],g=0;g<a.length;g++)f.push(a[g]);return f.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(0!==e)return e}return 0},d))}}function sa(b){N(b)&&(b={link:b});b.restrict=b.restrict||\n\"AC\";return aa(b)}function Jc(b,a){function c(a,c){c=c?\"-\"+db(c,\"-\"):\"\";b.removeClass((a?qb:rb)+c).addClass((a?rb:qb)+c)}var d=this,e=b.parent().controller(\"form\")||sb,f=0,g=d.$error={},h=[];d.$name=a.name||a.ngForm;d.$dirty=!1;d.$pristine=!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(Ja);c(!0);d.$addControl=function(a){wa(a.$name,\"input\");h.push(a);a.$name&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];r(g,function(b,c){d.$setValidity(c,!0,a)});\nNa(h,a)};d.$setValidity=function(a,b,h){var m=g[a];if(b)m&&(Na(m,h),m.length||(f--,f||(c(b),d.$valid=!0,d.$invalid=!1),g[a]=!1,c(!0,a),e.$setValidity(a,!0,d)));else{f||c(b);if(m){if(-1!=bb(m,h))return}else g[a]=m=[],f++,c(!1,a),e.$setValidity(a,!1,d);m.push(h);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(Ja).addClass(tb);d.$dirty=!0;d.$pristine=!1;e.$setDirty()};d.$setPristine=function(){b.removeClass(tb).addClass(Ja);d.$dirty=!1;d.$pristine=!0;r(h,function(a){a.$setPristine()})}}\nfunction na(b,a,c,d){b.$setValidity(a,c);return c?d:s}function ub(b,a,c,d,e,f){if(!e.android){var g=!1;a.on(\"compositionstart\",function(a){g=!0});a.on(\"compositionend\",function(){g=!1;h()})}var h=function(){if(!g){var e=a.val();Pa(c.ngTrim||\"T\")&&(e=da(e));d.$viewValue!==e&&(b.$$phase?d.$setViewValue(e):b.$apply(function(){d.$setViewValue(e)}))}};if(e.hasEvent(\"input\"))a.on(\"input\",h);else{var n,k=function(){n||(n=f.defer(function(){h();n=null}))};a.on(\"keydown\",function(a){a=a.keyCode;91===a||(15<\na&&19>a||37<=a&&40>=a)||k()});if(e.hasEvent(\"paste\"))a.on(\"paste cut\",k)}a.on(\"change\",h);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?\"\":d.$viewValue)};var l=c.ngPattern;l&&((e=l.match(/^\\/(.*)\\/([gim]*)$/))?(l=RegExp(e[1],e[2]),e=function(a){return na(d,\"pattern\",d.$isEmpty(a)||l.test(a),a)}):e=function(c){var e=b.$eval(l);if(!e||!e.test)throw E(\"ngPattern\")(\"noregexp\",l,e,ga(a));return na(d,\"pattern\",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var m=\nQ(c.ngMinlength);e=function(a){return na(d,\"minlength\",d.$isEmpty(a)||a.length>=m,a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var p=Q(c.ngMaxlength);e=function(a){return na(d,\"maxlength\",d.$isEmpty(a)||a.length<=p,a)};d.$parsers.push(e);d.$formatters.push(e)}}function Ob(b,a){b=\"ngClass\"+b;return function(){return{restrict:\"AC\",link:function(c,d,e){function f(b){if(!0===a||c.$index%2===a){var d=g(b||\"\");h?ta(b,h)||e.$updateClass(d,g(h)):e.$addClass(d)}h=ca(b)}function g(a){if(H(a))return a.join(\" \");\nif(Z(a)){var b=[];r(a,function(a,c){a&&b.push(c)});return b.join(\" \")}return a}var h;c.$watch(e[b],f,!0);e.$observe(\"class\",function(a){f(c.$eval(e[b]))});\"ngClass\"!==b&&c.$watch(\"$index\",function(d,f){var h=d&1;if(h!==f&1){var m=g(c.$eval(e[b]));h===a?e.$addClass(m):e.$removeClass(m)}})}}}}var O=function(b){return D(b)?b.toLowerCase():b},Pd=Object.prototype.hasOwnProperty,Ia=function(b){return D(b)?b.toUpperCase():b},P,z,Ca,ua=[].slice,Td=[].push,Ma=Object.prototype.toString,Oa=E(\"ng\"),Ba=C.angular||\n(C.angular={}),Va,Ga,ja=[\"0\",\"0\",\"0\"];P=Q((/msie (\\d+)/.exec(O(navigator.userAgent))||[])[1]);isNaN(P)&&(P=Q((/trident\\/.*; rv:(\\d+)/.exec(O(navigator.userAgent))||[])[1]));w.$inject=[];Aa.$inject=[];var da=function(){return String.prototype.trim?function(b){return D(b)?b.trim():b}:function(b){return D(b)?b.replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\"):b}}();Ga=9>P?function(b){b=b.nodeName?b:b[0];return b.scopeName&&\"HTML\"!=b.scopeName?Ia(b.scopeName+\":\"+b.nodeName):b.nodeName}:function(b){return b.nodeName?\nb.nodeName:b[0].nodeName};var Vc=/[A-Z]/g,Ud={full:\"1.2.13\",major:1,minor:2,dot:13,codeName:\"romantic-transclusion\"},Sa=R.cache={},eb=R.expando=\"ng-\"+(new Date).getTime(),Zc=1,Kc=C.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent(\"on\"+a,c)},Eb=C.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent(\"on\"+a,c)};R._data=function(b){return this.cache[b[this.expando]]||{}};var Xc=/([\\:\\-\\_]+(.))/g,Yc=\n/^moz([A-Z])/,Bb=E(\"jqLite\"),Fa=R.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;\"complete\"===T.readyState?setTimeout(a):(this.on(\"DOMContentLoaded\",a),R(C).on(\"load\",a))},toString:function(){var b=[];r(this,function(a){b.push(\"\"+a)});return\"[\"+b.join(\", \")+\"]\"},eq:function(b){return 0<=b?z(this[b]):z(this[this.length+b])},length:0,push:Td,sort:[].sort,splice:[].splice},ib={};r(\"multiple selected checked disabled readOnly required open\".split(\" \"),function(b){ib[O(b)]=b});var ic=\n{};r(\"input select option textarea button form details\".split(\" \"),function(b){ic[Ia(b)]=!0});r({data:ec,inheritedData:hb,scope:function(b){return z(b).data(\"$scope\")||hb(b.parentNode||b,[\"$isolateScope\",\"$scope\"])},isolateScope:function(b){return z(b).data(\"$isolateScope\")||z(b).data(\"$isolateScopeNoTemplate\")},controller:fc,injector:function(b){return hb(b,\"$injector\")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Fb,css:function(b,a,c){a=Ra(a);if(v(c))b.style[a]=c;else{var d;8>=P&&(d=\nb.currentStyle&&b.currentStyle[a],\"\"===d&&(d=\"auto\"));d=d||b.style[a];8>=P&&(d=\"\"===d?s:d);return d}},attr:function(b,a,c){var d=O(a);if(ib[d])if(v(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||w).specified?d:s;else if(v(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?s:b},prop:function(b,a,c){if(v(c))b[a]=c;else return b[a]},text:function(){function b(b,d){var e=a[b.nodeType];if(x(d))return e?\nb[e]:\"\";b[e]=d}var a=[];9>P?(a[1]=\"innerText\",a[3]=\"nodeValue\"):a[1]=a[3]=\"textContent\";b.$dv=\"\";return b}(),val:function(b,a){if(x(a)){if(\"SELECT\"===Ga(b)&&b.multiple){var c=[];r(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(x(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)Da(d[c]);b.innerHTML=a},empty:gc},function(b,a){R.prototype[a]=function(a,d){var e,f;if(b!==gc&&(2==b.length&&b!==Fb&&b!==\nfc?a:d)===s){if(Z(a)){for(e=0;e<this.length;e++)if(b===ec)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;f=e===s?Math.min(this.length,1):this.length;for(var g=0;g<f;g++){var h=b(this[g],a,d);e=e?e+h:h}return e}for(e=0;e<this.length;e++)b(this[e],a,d);return this}});r({removeData:cc,dealoc:Da,on:function a(c,d,e,f){if(v(f))throw Bb(\"onargs\");var g=ka(c,\"events\"),h=ka(c,\"handle\");g||ka(c,\"events\",g={});h||ka(c,\"handle\",h=$c(c,g));r(d.split(\" \"),function(d){var f=g[d];if(!f){if(\"mouseenter\"==\nd||\"mouseleave\"==d){var l=T.body.contains||T.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!!(e&&1===e.nodeType&&(d.contains?d.contains(e):a.compareDocumentPosition&&a.compareDocumentPosition(e)&16))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===a)return!0;return!1};g[d]=[];a(c,{mouseleave:\"mouseout\",mouseenter:\"mouseover\"}[d],function(a){var c=a.relatedTarget;c&&(c===this||l(this,c))||h(a,d)})}else Kc(c,d,h),g[d]=[];f=g[d]}f.push(e)})},\noff:dc,one:function(a,c,d){a=z(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;Da(a);r(new R(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];r(a.childNodes,function(a){1===a.nodeType&&c.push(a)});return c},contents:function(a){return a.childNodes||[]},append:function(a,c){r(new R(c),function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a,c){if(1===a.nodeType){var d=\na.firstChild;r(new R(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=z(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){Da(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;r(new R(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:gb,removeClass:fb,toggleClass:function(a,c,d){x(d)&&(d=!Fb(a,c));(d?gb:fb)(a,c)},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;\nfor(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},clone:Db,triggerHandler:function(a,c,d){c=(ka(a,\"events\")||{})[c];d=d||[];var e=[{preventDefault:w,stopPropagation:w}];r(c,function(c){c.apply(a,e.concat(d))})}},function(a,c){R.prototype[c]=function(c,e,f){for(var g,h=0;h<this.length;h++)x(g)?(g=a(this[h],c,e,f),v(g)&&(g=z(g))):Cb(g,a(this[h],c,e,f));return v(g)?g:this};R.prototype.bind=R.prototype.on;\nR.prototype.unbind=R.prototype.off});Ta.prototype={put:function(a,c){this[Ea(a)]=c},get:function(a){return this[Ea(a)]},remove:function(a){var c=this[a=Ea(a)];delete this[a];return c}};var bd=/^function\\s*[^\\(]*\\(\\s*([^\\)]*)\\)/m,cd=/,/,dd=/^\\s*(_?)(\\S+?)\\1\\s*$/,ad=/((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg,Ua=E(\"$injector\"),Vd=E(\"$animate\"),Wd=[\"$provide\",function(a){this.$$selectors={};this.register=function(c,d){var e=c+\"-animation\";if(c&&\".\"!=c.charAt(0))throw Vd(\"notcsel\",c);this.$$selectors[c.substr(1)]=\ne;a.factory(e,d)};this.classNameFilter=function(a){1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null);return this.$$classNameFilter};this.$get=[\"$timeout\",function(a){return{enter:function(d,e,f,g){f?f.after(d):(e&&e[0]||(e=f.parent()),e.append(d));g&&a(g,0,!1)},leave:function(d,e){d.remove();e&&a(e,0,!1)},move:function(a,c,f,g){this.enter(a,c,f,g)},addClass:function(d,e,f){e=D(e)?e:H(e)?e.join(\" \"):\"\";r(d,function(a){gb(a,e)});f&&a(f,0,!1)},removeClass:function(d,e,f){e=D(e)?\ne:H(e)?e.join(\" \"):\"\";r(d,function(a){fb(a,e)});f&&a(f,0,!1)},setClass:function(d,e,f,g){r(d,function(a){gb(a,e);fb(a,f)});g&&a(g,0,!1)},enabled:w}}]}],ia=E(\"$compile\");kc.$inject=[\"$provide\",\"$$sanitizeUriProvider\"];var jd=/^(x[\\:\\-_]|data[\\:\\-_])/i,qc=E(\"$interpolate\"),Xd=/^([^\\?#]*)(\\?([^#]*))?(#(.*))?$/,ud={http:80,https:443,ftp:21},Jb=E(\"$location\");vc.prototype=Kb.prototype=uc.prototype={$$html5:!1,$$replace:!1,absUrl:nb(\"$$absUrl\"),url:function(a,c){if(x(a))return this.$$url;var d=Xd.exec(a);\nd[1]&&this.path(decodeURIComponent(d[1]));(d[2]||d[1])&&this.search(d[3]||\"\");this.hash(d[5]||\"\",c);return this},protocol:nb(\"$$protocol\"),host:nb(\"$$host\"),port:nb(\"$$port\"),path:wc(\"$$path\",function(a){return\"/\"==a.charAt(0)?a:\"/\"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;case 1:if(D(a))this.$$search=Yb(a);else if(Z(a))this.$$search=a;else throw Jb(\"isrcharg\");break;default:x(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},\nhash:wc(\"$$hash\",Aa),replace:function(){this.$$replace=!0;return this}};var ya=E(\"$parse\"),zc={},qa,Ka={\"null\":function(){return null},\"true\":function(){return!0},\"false\":function(){return!1},undefined:w,\"+\":function(a,c,d,e){d=d(a,c);e=e(a,c);return v(d)?v(e)?d+e:d:v(e)?e:s},\"-\":function(a,c,d,e){d=d(a,c);e=e(a,c);return(v(d)?d:0)-(v(e)?e:0)},\"*\":function(a,c,d,e){return d(a,c)*e(a,c)},\"/\":function(a,c,d,e){return d(a,c)/e(a,c)},\"%\":function(a,c,d,e){return d(a,c)%e(a,c)},\"^\":function(a,c,d,e){return d(a,\nc)^e(a,c)},\"=\":w,\"===\":function(a,c,d,e){return d(a,c)===e(a,c)},\"!==\":function(a,c,d,e){return d(a,c)!==e(a,c)},\"==\":function(a,c,d,e){return d(a,c)==e(a,c)},\"!=\":function(a,c,d,e){return d(a,c)!=e(a,c)},\"<\":function(a,c,d,e){return d(a,c)<e(a,c)},\">\":function(a,c,d,e){return d(a,c)>e(a,c)},\"<=\":function(a,c,d,e){return d(a,c)<=e(a,c)},\">=\":function(a,c,d,e){return d(a,c)>=e(a,c)},\"&&\":function(a,c,d,e){return d(a,c)&&e(a,c)},\"||\":function(a,c,d,e){return d(a,c)||e(a,c)},\"&\":function(a,c,d,e){return d(a,\nc)&e(a,c)},\"|\":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},\"!\":function(a,c,d){return!d(a,c)}},Yd={n:\"\\n\",f:\"\\f\",r:\"\\r\",t:\"\\t\",v:\"\\v\",\"'\":\"'\",'\"':'\"'},Mb=function(a){this.options=a};Mb.prototype={constructor:Mb,lex:function(a){this.text=a;this.index=0;this.ch=s;this.lastCh=\":\";this.tokens=[];var c;for(a=[];this.index<this.text.length;){this.ch=this.text.charAt(this.index);if(this.is(\"\\\"'\"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(\".\")&&this.isNumber(this.peek()))this.readNumber();\nelse if(this.isIdent(this.ch))this.readIdent(),this.was(\"{,\")&&(\"{\"===a[0]&&(c=this.tokens[this.tokens.length-1]))&&(c.json=-1===c.text.indexOf(\".\"));else if(this.is(\"(){}[].,;:?\"))this.tokens.push({index:this.index,text:this.ch,json:this.was(\":[,\")&&this.is(\"{[\")||this.is(\"}]:,\")}),this.is(\"{[\")&&a.unshift(this.ch),this.is(\"}]\")&&a.shift(),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{var d=this.ch+this.peek(),e=d+this.peek(2),f=Ka[this.ch],g=Ka[d],h=Ka[e];h?(this.tokens.push({index:this.index,\ntext:e,fn:h}),this.index+=3):g?(this.tokens.push({index:this.index,text:d,fn:g}),this.index+=2):f?(this.tokens.push({index:this.index,text:this.ch,fn:f,json:this.was(\"[,:\")&&this.is(\"+-\")}),this.index+=1):this.throwError(\"Unexpected next character \",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(a){return-1!==a.indexOf(this.ch)},was:function(a){return-1!==a.indexOf(this.lastCh)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+\na):!1},isNumber:function(a){return\"0\"<=a&&\"9\">=a},isWhitespace:function(a){return\" \"===a||\"\\r\"===a||\"\\t\"===a||\"\\n\"===a||\"\\v\"===a||\"\\u00a0\"===a},isIdent:function(a){return\"a\"<=a&&\"z\">=a||\"A\"<=a&&\"Z\">=a||\"_\"===a||\"$\"===a},isExpOperator:function(a){return\"-\"===a||\"+\"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=v(c)?\"s \"+c+\"-\"+this.index+\" [\"+this.text.substring(c,d)+\"]\":\" \"+d;throw ya(\"lexerr\",a,c,this.text);},readNumber:function(){for(var a=\"\",c=this.index;this.index<this.text.length;){var d=\nO(this.text.charAt(this.index));if(\".\"==d||this.isNumber(d))a+=d;else{var e=this.peek();if(\"e\"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&\"e\"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||\"e\"!=a.charAt(a.length-1))break;else this.throwError(\"Invalid exponent\")}this.index++}a*=1;this.tokens.push({index:c,text:a,json:!0,fn:function(){return a}})},readIdent:function(){for(var a=this,c=\"\",d=this.index,e,f,g,h;this.index<this.text.length;){h=\nthis.text.charAt(this.index);if(\".\"===h||this.isIdent(h)||this.isNumber(h))\".\"===h&&(e=this.index),c+=h;else break;this.index++}if(e)for(f=this.index;f<this.text.length;){h=this.text.charAt(f);if(\"(\"===h){g=c.substr(e-d+1);c=c.substr(0,e-d);this.index=f;break}if(this.isWhitespace(h))f++;else break}d={index:d,text:c};if(Ka.hasOwnProperty(c))d.fn=Ka[c],d.json=Ka[c];else{var n=yc(c,this.options,this.text);d.fn=t(function(a,c){return n(a,c)},{assign:function(d,e){return ob(d,c,e,a.text,a.options)}})}this.tokens.push(d);\ng&&(this.tokens.push({index:e,text:\".\",json:!1}),this.tokens.push({index:e+1,text:g,json:!1}))},readString:function(a){var c=this.index;this.index++;for(var d=\"\",e=a,f=!1;this.index<this.text.length;){var g=this.text.charAt(this.index),e=e+g;if(f)\"u\"===g?(g=this.text.substring(this.index+1,this.index+5),g.match(/[\\da-f]{4}/i)||this.throwError(\"Invalid unicode escape [\\\\u\"+g+\"]\"),this.index+=4,d+=String.fromCharCode(parseInt(g,16))):d=(f=Yd[g])?d+f:d+g,f=!1;else if(\"\\\\\"===g)f=!0;else{if(g===a){this.index++;\nthis.tokens.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}d+=g}this.index++}this.throwError(\"Unterminated quote\",c)}};var Za=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d};Za.ZERO=function(){return 0};Za.prototype={constructor:Za,parse:function(a,c){this.text=a;this.json=c;this.tokens=this.lexer.lex(a);c&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError(\"is not valid json\",{text:a,\nindex:0})});var d=c?this.primary():this.statements();0!==this.tokens.length&&this.throwError(\"is an unexpected token\",this.tokens[0]);d.literal=!!d.literal;d.constant=!!d.constant;return d},primary:function(){var a;if(this.expect(\"(\"))a=this.filterChain(),this.consume(\")\");else if(this.expect(\"[\"))a=this.arrayDeclaration();else if(this.expect(\"{\"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError(\"not a primary expression\",c);c.json&&(a.constant=!0,a.literal=!0)}for(var d;c=this.expect(\"(\",\n\"[\",\".\");)\"(\"===c.text?(a=this.functionCall(a,d),d=null):\"[\"===c.text?(d=a,a=this.objectIndex(a)):\".\"===c.text?(d=a,a=this.fieldAccess(a)):this.throwError(\"IMPOSSIBLE\");return a},throwError:function(a,c){throw ya(\"syntax\",c.text,a,c.index+1,this.text,this.text.substring(c.index));},peekToken:function(){if(0===this.tokens.length)throw ya(\"ueoe\",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],g=f.text;if(g===a||g===c||g===d||g===e||!(a||c||d||e))return f}return!1},\nexpect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.json&&!a.json&&this.throwError(\"is not valid json\",a),this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||this.throwError(\"is unexpected, expecting [\"+a+\"]\",this.peek())},unaryFn:function(a,c){return t(function(d,e){return a(d,e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return t(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return t(function(e,f){return c(e,\nf,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek(\"}\",\")\",\";\",\"]\")&&a.push(this.filterChain()),!this.expect(\";\"))return 1===a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var g=a[f];g&&(e=g(c,d))}return e}},filterChain:function(){for(var a=this.expression(),c;;)if(c=this.expect(\"|\"))a=this.binaryFn(a,c.fn,this.filter());else return a},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];;)if(a=this.expect(\":\"))d.push(this.expression());\nelse{var e=function(a,e,h){h=[h];for(var n=0;n<d.length;n++)h.push(d[n](a,e));return c.apply(a,h)};return function(){return e}}},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary(),c,d;return(d=this.expect(\"=\"))?(a.assign||this.throwError(\"implies assignment but [\"+this.text.substring(0,d.index)+\"] can not be assigned to\",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var a=this.logicalOR(),c,d;if(this.expect(\"?\")){c=this.ternary();\nif(d=this.expect(\":\"))return this.ternaryFn(a,c,this.ternary());this.throwError(\"expected :\",d)}else return a},logicalOR:function(){for(var a=this.logicalAND(),c;;)if(c=this.expect(\"||\"))a=this.binaryFn(a,c.fn,this.logicalAND());else return a},logicalAND:function(){var a=this.equality(),c;if(c=this.expect(\"&&\"))a=this.binaryFn(a,c.fn,this.logicalAND());return a},equality:function(){var a=this.relational(),c;if(c=this.expect(\"==\",\"!=\",\"===\",\"!==\"))a=this.binaryFn(a,c.fn,this.equality());return a},\nrelational:function(){var a=this.additive(),c;if(c=this.expect(\"<\",\">\",\"<=\",\">=\"))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect(\"+\",\"-\");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect(\"*\",\"/\",\"%\");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect(\"+\")?this.primary():(a=this.expect(\"-\"))?this.binaryFn(Za.ZERO,a.fn,\nthis.unary()):(a=this.expect(\"!\"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=yc(d,this.options,this.text);return t(function(c,d,h){return e(h||a(c,d))},{assign:function(e,g,h){return ob(a(e,h),d,g,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume(\"]\");return t(function(e,f){var g=a(e,f),h=d(e,f),n;if(!g)return s;(g=Ya(g[h],c.text))&&(g.then&&c.options.unwrapPromises)&&(n=g,\"$$v\"in g||(n.$$v=s,n.then(function(a){n.$$v=\na})),g=g.$$v);return g},{assign:function(e,f,g){var h=d(e,g);return Ya(a(e,g),c.text)[h]=f}})},functionCall:function(a,c){var d=[];if(\")\"!==this.peekToken().text){do d.push(this.expression());while(this.expect(\",\"))}this.consume(\")\");var e=this;return function(f,g){for(var h=[],n=c?c(f,g):f,k=0;k<d.length;k++)h.push(d[k](f,g));k=a(f,g,n)||w;Ya(n,e.text);Ya(k,e.text);h=k.apply?k.apply(n,h):k(h[0],h[1],h[2],h[3],h[4]);return Ya(h,e.text)}},arrayDeclaration:function(){var a=[],c=!0;if(\"]\"!==this.peekToken().text){do{var d=\nthis.expression();a.push(d);d.constant||(c=!1)}while(this.expect(\",\"))}this.consume(\"]\");return t(function(c,d){for(var g=[],h=0;h<a.length;h++)g.push(a[h](c,d));return g},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if(\"}\"!==this.peekToken().text){do{var d=this.expect(),d=d.string||d.text;this.consume(\":\");var e=this.expression();a.push({key:d,value:e});e.constant||(c=!1)}while(this.expect(\",\"))}this.consume(\"}\");return t(function(c,d){for(var e={},n=0;n<a.length;n++){var k=a[n];e[k.key]=\nk.value(c,d)}return e},{literal:!0,constant:c})}};var Lb={},ra=E(\"$sce\"),fa={HTML:\"html\",CSS:\"css\",URL:\"url\",RESOURCE_URL:\"resourceUrl\",JS:\"js\"},V=T.createElement(\"a\"),Bc=xa(C.location.href,!0);Cc.$inject=[\"$provide\"];Dc.$inject=[\"$locale\"];Fc.$inject=[\"$locale\"];var Ic=\".\",Sd={yyyy:$(\"FullYear\",4),yy:$(\"FullYear\",2,0,!0),y:$(\"FullYear\",1),MMMM:pb(\"Month\"),MMM:pb(\"Month\",!0),MM:$(\"Month\",2,1),M:$(\"Month\",1,1),dd:$(\"Date\",2),d:$(\"Date\",1),HH:$(\"Hours\",2),H:$(\"Hours\",1),hh:$(\"Hours\",2,-12),h:$(\"Hours\",\n1,-12),mm:$(\"Minutes\",2),m:$(\"Minutes\",1),ss:$(\"Seconds\",2),s:$(\"Seconds\",1),sss:$(\"Milliseconds\",3),EEEE:pb(\"Day\"),EEE:pb(\"Day\",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?\"+\":\"\")+(Nb(Math[0<a?\"floor\":\"ceil\"](a/60),2)+Nb(Math.abs(a%60),2))}},Rd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Qd=/^\\-?\\d+$/;Ec.$inject=[\"$locale\"];var Nd=aa(O),Od=aa(Ia);Gc.$inject=[\"$parse\"];var Zd=aa({restrict:\"E\",\ncompile:function(a,c){8>=P&&(c.href||c.name||c.$set(\"href\",\"\"),a.append(T.createComment(\"IE fix\")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f=\"[object SVGAnimatedString]\"===Ma.call(c.prop(\"href\"))?\"xlink:href\":\"href\";c.on(\"click\",function(a){c.attr(f)||a.preventDefault()})}}}),Pb={};r(ib,function(a,c){if(\"multiple\"!=a){var d=la(\"ng-\"+c);Pb[d]=function(){return{priority:100,link:function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}});r([\"src\",\"srcset\",\"href\"],function(a){var c=\nla(\"ng-\"+a);Pb[c]=function(){return{priority:99,link:function(d,e,f){f.$observe(c,function(c){c&&(f.$set(a,c),P&&e.prop(a,f[a]))})}}}});var sb={$addControl:w,$removeControl:w,$setValidity:w,$setDirty:w,$setPristine:w};Jc.$inject=[\"$element\",\"$attrs\",\"$scope\"];var Lc=function(a){return[\"$timeout\",function(c){return{name:\"form\",restrict:a?\"EAC\":\"E\",controller:Jc,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Kc(e[0],\n\"submit\",h);e.on(\"$destroy\",function(){c(function(){Eb(e[0],\"submit\",h)},0,!1)})}var n=e.parent().controller(\"form\"),k=f.name||f.ngForm;k&&ob(a,k,g,k);if(n)e.on(\"$destroy\",function(){n.$removeControl(g);k&&ob(a,k,s,k);t(g,sb)})}}}}}]},$d=Lc(),ae=Lc(!0),be=/^(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/,ce=/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\\.[a-z0-9-]+)*$/i,de=/^\\s*(\\-|\\+)?(\\d+|(\\d*(\\.\\d*)))\\s*$/,Mc={text:ub,number:function(a,c,d,e,f,g){ub(a,c,d,e,f,g);\ne.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||de.test(a))return e.$setValidity(\"number\",!0),\"\"===a?null:c?a:parseFloat(a);e.$setValidity(\"number\",!1);return s});e.$formatters.push(function(a){return e.$isEmpty(a)?\"\":\"\"+a});d.min&&(a=function(a){var c=parseFloat(d.min);return na(e,\"min\",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return na(e,\"max\",e.$isEmpty(a)||a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return na(e,\n\"number\",e.$isEmpty(a)||wb(a),a)})},url:function(a,c,d,e,f,g){ub(a,c,d,e,f,g);a=function(a){return na(e,\"url\",e.$isEmpty(a)||be.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,g){ub(a,c,d,e,f,g);a=function(a){return na(e,\"email\",e.$isEmpty(a)||ce.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){x(d.name)&&c.attr(\"name\",$a());c.on(\"click\",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=\nd.value==e.$viewValue};d.$observe(\"value\",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;D(f)||(f=!0);D(g)||(g=!1);c.on(\"click\",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:g})},hidden:w,button:w,submit:w,reset:w,file:w},Nc=[\"$browser\",\"$sniffer\",function(a,c){return{restrict:\"E\",require:\"?ngModel\",\nlink:function(d,e,f,g){g&&(Mc[O(f.type)]||Mc.text)(d,e,f,g,c,a)}}}],rb=\"ng-valid\",qb=\"ng-invalid\",Ja=\"ng-pristine\",tb=\"ng-dirty\",ee=[\"$scope\",\"$exceptionHandler\",\"$attrs\",\"$element\",\"$parse\",function(a,c,d,e,f){function g(a,c){c=c?\"-\"+db(c,\"-\"):\"\";e.removeClass((a?qb:rb)+c).addClass((a?rb:qb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var h=f(d.ngModel),\nn=h.assign;if(!n)throw E(\"ngModel\")(\"nonassign\",d.ngModel,ga(e));this.$render=w;this.$isEmpty=function(a){return x(a)||\"\"===a||null===a||a!==a};var k=e.inheritedData(\"$formController\")||sb,l=0,m=this.$error={};e.addClass(Ja);g(!0);this.$setValidity=function(a,c){m[a]!==!c&&(c?(m[a]&&l--,l||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,l++),m[a]=!c,g(c,a),k.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;e.removeClass(tb).addClass(Ja)};\nthis.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,e.removeClass(Ja).addClass(tb),k.$setDirty());r(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,n(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=h(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==c&&(p.$viewValue=c,p.$render())}return c})}],fe=function(){return{require:[\"ngModel\",\n\"^?form\"],controller:ee,link:function(a,c,d,e){var f=e[0],g=e[1]||sb;g.$addControl(f);a.$on(\"$destroy\",function(){g.$removeControl(f)})}}},ge=aa({require:\"ngModel\",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Oc=function(){return{require:\"?ngModel\",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity(\"required\",!1);else return e.$setValidity(\"required\",!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe(\"required\",\nfunction(){f(e.$viewValue)})}}}},he=function(){return{require:\"ngModel\",link:function(a,c,d,e){var f=(a=/\\/(.*)\\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||\",\";e.$parsers.push(function(a){if(!x(a)){var c=[];a&&r(a.split(f),function(a){a&&c.push(da(a))});return c}});e.$formatters.push(function(a){return H(a)?a.join(\", \"):s});e.$isEmpty=function(a){return!a||!a.length}}}},ie=/^(true|false|\\d+)$/,je=function(){return{priority:100,compile:function(a,c){return ie.test(c.ngValue)?function(a,c,f){f.$set(\"value\",\na.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set(\"value\",a)})}}}},ke=sa(function(a,c,d){c.addClass(\"ng-binding\").data(\"$binding\",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==s?\"\":a)})}),le=[\"$interpolate\",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass(\"ng-binding\").data(\"$binding\",c);e.$observe(\"ngBindTemplate\",function(a){d.text(a)})}}],me=[\"$sce\",\"$parse\",function(a,c){return function(d,e,f){e.addClass(\"ng-binding\").data(\"$binding\",\nf.ngBindHtml);var g=c(f.ngBindHtml);d.$watch(function(){return(g(d)||\"\").toString()},function(c){e.html(a.getTrustedHtml(g(d))||\"\")})}}],ne=Ob(\"\",!0),oe=Ob(\"Odd\",0),pe=Ob(\"Even\",1),qe=sa({compile:function(a,c){c.$set(\"ngCloak\",s);a.removeClass(\"ng-cloak\")}}),re=[function(){return{scope:!0,controller:\"@\",priority:500}}],Pc={};r(\"click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste\".split(\" \"),function(a){var c=la(\"ng-\"+\na);Pc[c]=[\"$parse\",function(d){return{compile:function(e,f){var g=d(f[c]);return function(c,d,e){d.on(O(a),function(a){c.$apply(function(){g(c,{$event:a})})})}}}}]});var se=[\"$animate\",function(a){return{transclude:\"element\",priority:600,terminal:!0,restrict:\"A\",$$tlb:!0,link:function(c,d,e,f,g){var h,n;c.$watch(e.ngIf,function(f){Pa(f)?n||(n=c.$new(),g(n,function(c){c[c.length++]=T.createComment(\" end ngIf: \"+e.ngIf+\" \");h={clone:c};a.enter(c,d.parent(),d)})):(n&&(n.$destroy(),n=null),h&&(a.leave(zb(h.clone)),\nh=null))})}}}],te=[\"$http\",\"$templateCache\",\"$anchorScroll\",\"$animate\",\"$sce\",function(a,c,d,e,f){return{restrict:\"ECA\",priority:400,terminal:!0,transclude:\"element\",controller:Ba.noop,compile:function(g,h){var n=h.ngInclude||h.src,k=h.onload||\"\",l=h.autoscroll;return function(g,h,q,r,B){var s=0,u,t,z=function(){u&&(u.$destroy(),u=null);t&&(e.leave(t),t=null)};g.$watch(f.parseAsResourceUrl(n),function(f){var n=function(){!v(l)||l&&!g.$eval(l)||d()},q=++s;f?(a.get(f,{cache:c}).success(function(a){if(q===\ns){var c=g.$new();r.template=a;a=B(c,function(a){z();e.enter(a,null,h,n)});u=c;t=a;u.$emit(\"$includeContentLoaded\");g.$eval(k)}}).error(function(){q===s&&z()}),g.$emit(\"$includeContentRequested\")):(z(),r.template=null)})}}}}],ue=[\"$compile\",function(a){return{restrict:\"ECA\",priority:-400,require:\"ngInclude\",link:function(c,d,e,f){d.html(f.template);a(d.contents())(c)}}}],ve=sa({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),we=sa({terminal:!0,priority:1E3}),xe=[\"$locale\",\n\"$interpolate\",function(a,c){var d=/{}/g;return{restrict:\"EA\",link:function(e,f,g){var h=g.count,n=g.$attr.when&&f.attr(g.$attr.when),k=g.offset||0,l=e.$eval(n)||{},m={},p=c.startSymbol(),q=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(g,function(a,c){s.test(c)&&(l[O(c.replace(\"when\",\"\").replace(\"Minus\",\"-\"))]=f.attr(g.$attr[c]))});r(l,function(a,e){m[e]=c(a.replace(d,p+h+\"-\"+k+q))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return\"\";c in l||(c=a.pluralCat(c-k));return m[c](e,f,!0)},function(a){f.text(a)})}}}],\nye=[\"$parse\",\"$animate\",function(a,c){var d=E(\"ngRepeat\");return{transclude:\"element\",priority:1E3,terminal:!0,$$tlb:!0,link:function(e,f,g,h,n){var k=g.ngRepeat,l=k.match(/^\\s*([\\s\\S]+?)\\s+in\\s+([\\s\\S]+?)(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/),m,p,q,s,t,v,u={$id:Ea};if(!l)throw d(\"iexp\",k);g=l[1];h=l[2];(l=l[3])?(m=a(l),p=function(a,c,d){v&&(u[v]=a);u[t]=c;u.$index=d;return m(e,u)}):(q=function(a,c){return Ea(c)},s=function(a){return a});l=g.match(/^(?:([\\$\\w]+)|\\(([\\$\\w]+)\\s*,\\s*([\\$\\w]+)\\))$/);if(!l)throw d(\"iidexp\",\ng);t=l[3]||l[1];v=l[2];var G={};e.$watchCollection(h,function(a){var g,h,l=f[0],m,u={},D,M,w,x,E,J,H=[];if(vb(a))E=a,m=p||q;else{m=p||s;E=[];for(w in a)a.hasOwnProperty(w)&&\"$\"!=w.charAt(0)&&E.push(w);E.sort()}D=E.length;h=H.length=E.length;for(g=0;g<h;g++)if(w=a===E?g:E[g],x=a[w],x=m(w,x,g),wa(x,\"`track by` id\"),G.hasOwnProperty(x))J=G[x],delete G[x],u[x]=J,H[g]=J;else{if(u.hasOwnProperty(x))throw r(H,function(a){a&&a.scope&&(G[a.id]=a)}),d(\"dupes\",k,x);H[g]={id:x};u[x]=!1}for(w in G)G.hasOwnProperty(w)&&\n(J=G[w],g=zb(J.clone),c.leave(g),r(g,function(a){a.$$NG_REMOVED=!0}),J.scope.$destroy());g=0;for(h=E.length;g<h;g++){w=a===E?g:E[g];x=a[w];J=H[g];H[g-1]&&(l=H[g-1].clone[H[g-1].clone.length-1]);if(J.scope){M=J.scope;m=l;do m=m.nextSibling;while(m&&m.$$NG_REMOVED);J.clone[0]!=m&&c.move(zb(J.clone),null,z(l));l=J.clone[J.clone.length-1]}else M=e.$new();M[t]=x;v&&(M[v]=w);M.$index=g;M.$first=0===g;M.$last=g===D-1;M.$middle=!(M.$first||M.$last);M.$odd=!(M.$even=0===(g&1));J.scope||n(M,function(a){a[a.length++]=\nT.createComment(\" end ngRepeat: \"+k+\" \");c.enter(a,null,z(l));l=a;J.scope=M;J.clone=a;u[J.id]=J})}G=u})}}}],ze=[\"$animate\",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Pa(c)?\"removeClass\":\"addClass\"](d,\"ng-hide\")})}}],Ae=[\"$animate\",function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Pa(c)?\"addClass\":\"removeClass\"](d,\"ng-hide\")})}}],Be=sa(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,d){c.css(d,\"\")});a&&c.css(a)},!0)}),Ce=[\"$animate\",\nfunction(a){return{restrict:\"EA\",require:\"ngSwitch\",controller:[\"$scope\",function(){this.cases={}}],link:function(c,d,e,f){var g,h,n=[];c.$watch(e.ngSwitch||e.on,function(d){for(var l=0,m=n.length;l<m;l++)n[l].$destroy(),a.leave(h[l]);h=[];n=[];if(g=f.cases[\"!\"+d]||f.cases[\"?\"])c.$eval(e.change),r(g,function(d){var e=c.$new();n.push(e);d.transclude(e,function(c){var e=d.element;h.push(c);a.enter(c,e.parent(),e)})})})}}}],De=sa({transclude:\"element\",priority:800,require:\"^ngSwitch\",link:function(a,\nc,d,e,f){e.cases[\"!\"+d.ngSwitchWhen]=e.cases[\"!\"+d.ngSwitchWhen]||[];e.cases[\"!\"+d.ngSwitchWhen].push({transclude:f,element:c})}}),Ee=sa({transclude:\"element\",priority:800,require:\"^ngSwitch\",link:function(a,c,d,e,f){e.cases[\"?\"]=e.cases[\"?\"]||[];e.cases[\"?\"].push({transclude:f,element:c})}}),Fe=sa({link:function(a,c,d,e,f){if(!f)throw E(\"ngTransclude\")(\"orphan\",ga(c));f(function(a){c.empty();c.append(a)})}}),Ge=[\"$templateCache\",function(a){return{restrict:\"E\",terminal:!0,compile:function(c,d){\"text/ng-template\"==\nd.type&&a.put(d.id,c[0].text)}}}],He=E(\"ngOptions\"),Ie=aa({terminal:!0}),Je=[\"$compile\",\"$parse\",function(a,c){var d=/^\\s*([\\s\\S]+?)(?:\\s+as\\s+([\\s\\S]+?))?(?:\\s+group\\s+by\\s+([\\s\\S]+?))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+([\\s\\S]+?)(?:\\s+track\\s+by\\s+([\\s\\S]+?))?$/,e={$setViewValue:w};return{restrict:\"E\",require:[\"select\",\"?ngModel\"],controller:[\"$element\",\"$scope\",\"$attrs\",function(a,c,d){var n=this,k={},l=e,m;n.databound=d.ngModel;n.init=function(a,\nc,d){l=a;m=d};n.addOption=function(c){wa(c,'\"option value\"');k[c]=!0;l.$viewValue==c&&(a.val(c),m.parent()&&m.remove())};n.removeOption=function(a){this.hasOption(a)&&(delete k[a],l.$viewValue==a&&this.renderUnknownOption(a))};n.renderUnknownOption=function(c){c=\"? \"+Ea(c)+\" ?\";m.val(c);a.prepend(m);a.val(c);m.prop(\"selected\",!0)};n.hasOption=function(a){return k.hasOwnProperty(a)};c.$on(\"$destroy\",function(){n.renderUnknownOption=w})}],link:function(e,g,h,n){function k(a,c,d,e){d.$render=function(){var a=\nd.$viewValue;e.hasOption(a)?(D.parent()&&D.remove(),c.val(a),\"\"===a&&w.prop(\"selected\",!0)):x(a)&&w?c.val(\"\"):e.renderUnknownOption(a)};c.on(\"change\",function(){a.$apply(function(){D.parent()&&D.remove();d.$setViewValue(c.val())})})}function l(a,c,d){var e;d.$render=function(){var a=new Ta(d.$viewValue);r(c.find(\"option\"),function(c){c.selected=v(a.get(c.value))})};a.$watch(function(){ta(e,d.$viewValue)||(e=ca(d.$viewValue),d.$render())});c.on(\"change\",function(){a.$apply(function(){var a=[];r(c.find(\"option\"),\nfunction(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function m(e,f,g){function h(){var a={\"\":[]},c=[\"\"],d,k,s,t,x;t=g.$modelValue;x=z(e)||[];var A=n?Qb(x):x,D,X,C;X={};s=!1;var K,I;if(q)if(w&&H(t))for(s=new Ta([]),C=0;C<t.length;C++)X[m]=t[C],s.put(w(e,X),t[C]);else s=new Ta(t);for(C=0;D=A.length,C<D;C++){k=C;if(n){k=A[C];if(\"$\"===k.charAt(0))continue;X[n]=k}X[m]=x[k];d=p(e,X)||\"\";(k=a[d])||(k=a[d]=[],c.push(d));q?d=v(s.remove(w?w(e,X):r(e,X))):(w?(d={},d[m]=t,d=w(e,d)===w(e,X)):d=t===\nr(e,X),s=s||d);K=l(e,X);K=v(K)?K:\"\";k.push({id:w?w(e,X):n?A[C]:C,label:K,selected:d})}q||(B||null===t?a[\"\"].unshift({id:\"\",label:\"\",selected:!s}):s||a[\"\"].unshift({id:\"?\",label:\"\",selected:!0}));X=0;for(A=c.length;X<A;X++){d=c[X];k=a[d];y.length<=X?(t={element:E.clone().attr(\"label\",d),label:k.label},x=[t],y.push(x),f.append(t.element)):(x=y[X],t=x[0],t.label!=d&&t.element.attr(\"label\",t.label=d));K=null;C=0;for(D=k.length;C<D;C++)s=k[C],(d=x[C+1])?(K=d.element,d.label!==s.label&&K.text(d.label=s.label),\nd.id!==s.id&&K.val(d.id=s.id),K[0].selected!==s.selected&&K.prop(\"selected\",d.selected=s.selected)):(\"\"===s.id&&B?I=B:(I=u.clone()).val(s.id).attr(\"selected\",s.selected).text(s.label),x.push({element:I,label:s.label,id:s.id,selected:s.selected}),K?K.after(I):t.element.append(I),K=I);for(C++;x.length>C;)x.pop().element.remove()}for(;y.length>X;)y.pop()[0].element.remove()}var k;if(!(k=t.match(d)))throw He(\"iexp\",t,ga(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],p=c(k[3]||\"\"),r=c(k[2]?k[1]:m),z=c(k[7]),\nw=k[8]?c(k[8]):null,y=[[{element:f,label:\"\"}]];B&&(a(B)(e),B.removeClass(\"ng-scope\"),B.remove());f.empty();f.on(\"change\",function(){e.$apply(function(){var a,c=z(e)||[],d={},h,k,l,p,t,v,u;if(q)for(k=[],p=0,v=y.length;p<v;p++)for(a=y[p],l=1,t=a.length;l<t;l++){if((h=a[l].element)[0].selected){h=h.val();n&&(d[n]=h);if(w)for(u=0;u<c.length&&(d[m]=c[u],w(e,d)!=h);u++);else d[m]=c[h];k.push(r(e,d))}}else if(h=f.val(),\"?\"==h)k=s;else if(\"\"===h)k=null;else if(w)for(u=0;u<c.length;u++){if(d[m]=c[u],w(e,d)==\nh){k=r(e,d);break}}else d[m]=c[h],n&&(d[n]=h),k=r(e,d);g.$setViewValue(k)})});g.$render=h;e.$watch(h)}if(n[1]){var p=n[0];n=n[1];var q=h.multiple,t=h.ngOptions,B=!1,w,u=z(T.createElement(\"option\")),E=z(T.createElement(\"optgroup\")),D=u.clone();h=0;for(var y=g.children(),C=y.length;h<C;h++)if(\"\"===y[h].value){w=B=y.eq(h);break}p.init(n,B,D);q&&(n.$isEmpty=function(a){return!a||0===a.length});t?m(e,g,n):q?l(e,g,n):k(e,g,n,p)}}}}],Ke=[\"$interpolate\",function(a){var c={addOption:w,removeOption:w};return{restrict:\"E\",\npriority:100,compile:function(d,e){if(x(e.value)){var f=a(d.text(),!0);f||e.$set(\"value\",d.text())}return function(a,d,e){var k=d.parent(),l=k.data(\"$selectController\")||k.parent().data(\"$selectController\");l&&l.databound?d.prop(\"selected\",!1):l=c;f?a.$watch(f,function(a,c){e.$set(\"value\",a);a!==c&&l.removeOption(c);l.addOption(a)}):l.addOption(e.value);d.on(\"$destroy\",function(){l.removeOption(e.value)})}}}}],Le=aa({restrict:\"E\",terminal:!0});(Ca=C.jQuery)?(z=Ca,t(Ca.fn,{scope:Fa.scope,isolateScope:Fa.isolateScope,\ncontroller:Fa.controller,injector:Fa.injector,inheritedData:Fa.inheritedData}),Ab(\"remove\",!0,!0,!1),Ab(\"empty\",!1,!1,!1),Ab(\"html\",!1,!1,!0)):z=R;Ba.element=z;(function(a){t(a,{bootstrap:$b,copy:ca,extend:t,equals:ta,element:z,forEach:r,injector:ac,noop:w,bind:cb,toJson:oa,fromJson:Wb,identity:Aa,isUndefined:x,isDefined:v,isString:D,isFunction:N,isObject:Z,isNumber:wb,isElement:Rc,isArray:H,version:Ud,isDate:La,lowercase:O,uppercase:Ia,callbacks:{counter:0},$$minErr:E,$$csp:Vb});Va=Wc(C);try{Va(\"ngLocale\")}catch(c){Va(\"ngLocale\",\n[]).provider(\"$locale\",td)}Va(\"ng\",[\"ngLocale\"],[\"$provide\",function(a){a.provider({$$sanitizeUri:Dd});a.provider(\"$compile\",kc).directive({a:Zd,input:Nc,textarea:Nc,form:$d,script:Ge,select:Je,style:Le,option:Ke,ngBind:ke,ngBindHtml:me,ngBindTemplate:le,ngClass:ne,ngClassEven:pe,ngClassOdd:oe,ngCloak:qe,ngController:re,ngForm:ae,ngHide:Ae,ngIf:se,ngInclude:te,ngInit:ve,ngNonBindable:we,ngPluralize:xe,ngRepeat:ye,ngShow:ze,ngStyle:Be,ngSwitch:Ce,ngSwitchWhen:De,ngSwitchDefault:Ee,ngOptions:Ie,ngTransclude:Fe,\nngModel:fe,ngList:he,ngChange:ge,required:Oc,ngRequired:Oc,ngValue:je}).directive({ngInclude:ue}).directive(Pb).directive(Pc);a.provider({$anchorScroll:ed,$animate:Wd,$browser:gd,$cacheFactory:hd,$controller:kd,$document:ld,$exceptionHandler:md,$filter:Cc,$interpolate:rd,$interval:sd,$http:nd,$httpBackend:pd,$location:vd,$log:wd,$parse:zd,$rootScope:Cd,$q:Ad,$sce:Gd,$sceDelegate:Fd,$sniffer:Hd,$templateCache:id,$timeout:Id,$window:Jd})}])})(Ba);z(T).ready(function(){Uc(T,$b)})})(window,document);\n!angular.$$csp()&&angular.element(document).find(\"head\").prepend('<style type=\"text/css\">@charset \"UTF-8\";[ng\\\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}</style>');\n//# sourceMappingURL=angular.min.js.map\n"
  },
  {
    "path": "lib/syntax/shAutoloader.js",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\neval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c])}}return p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d<c.9;d++)i[c[d]]=a}2 o(c){1 a=r.H(\"J\"),d=3;a.K=c;a.M=\"L/t\";a.G=\"t\";a.u=a.v=2(){6(!d&&(!8.7||8.7==\"F\"||8.7==\"z\")){d=q;e[c]=q;a:{4(1 p y e)6(e[p]==3)B a;j&&5.C(k)}a.u=a.v=x;a.D.O(a)}};r.N.R(a)}1 f=Q,l=h.P(),i={},e={},j=3,k=x,b;5.T=2(c){k=c;j=q};4(b=0;b<f.9;b++){1 m=f[b].w?f[b]:f[b].S(/\\\\s+/),g=m.w();n(m,g)}4(b=0;b<l.9;b++)6(g=i[l[b].E.A]){e[g]=3;o(g)}}})();',56,56,'|var|function|false|for|SyntaxHighlighter|if|readyState|this|length|||||||||||||||||true|document||javascript|onload|onreadystatechange|pop|null|in|complete|brush|break|highlight|parentNode|params|loaded|language|createElement|autoloader|script|src|text|type|body|removeChild|findElements|arguments|appendChild|split|all'.split('|'),0,{}))\n"
  },
  {
    "path": "lib/syntax/shBrushJScript.js",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n;(function()\n{\n\t// CommonJS\n\ttypeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;\n\n\tfunction Brush()\n\t{\n\t\tvar keywords =\t'break case catch continue ' +\n\t\t\t\t\t\t'default delete do else false  ' +\n\t\t\t\t\t\t'for function if in instanceof ' +\n\t\t\t\t\t\t'new null return super switch ' +\n\t\t\t\t\t\t'this throw true try typeof var while with'\n\t\t\t\t\t\t;\n\n\t\tvar r = SyntaxHighlighter.regexLib;\n\t\t\n\t\tthis.regexList = [\n\t\t\t{ regex: r.multiLineDoubleQuotedString,\t\t\t\t\tcss: 'string' },\t\t\t// double quoted strings\n\t\t\t{ regex: r.multiLineSingleQuotedString,\t\t\t\t\tcss: 'string' },\t\t\t// single quoted strings\n\t\t\t{ regex: r.singleLineCComments,\t\t\t\t\t\t\tcss: 'comments' },\t\t\t// one line comments\n\t\t\t{ regex: r.multiLineCComments,\t\t\t\t\t\t\tcss: 'comments' },\t\t\t// multiline comments\n\t\t\t{ regex: /\\s*#.*/gm,\t\t\t\t\t\t\t\t\tcss: 'preprocessor' },\t\t// preprocessor tags like #region and #endregion\n\t\t\t{ regex: new RegExp(this.getKeywords(keywords), 'gm'),\tcss: 'keyword' }\t\t\t// keywords\n\t\t\t];\n\t\n\t\tthis.forHtmlScript(r.scriptScriptTags);\n\t};\n\n\tBrush.prototype\t= new SyntaxHighlighter.Highlighter();\n\tBrush.aliases\t= ['js', 'jscript', 'javascript'];\n\n\tSyntaxHighlighter.brushes.JScript = Brush;\n\n\t// CommonJS\n\ttypeof(exports) != 'undefined' ? exports.Brush = Brush : null;\n})();\n"
  },
  {
    "path": "lib/syntax/shBrushXml.js",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\n;(function()\n{\n\t// CommonJS\n\ttypeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;\n\n\tfunction Brush()\n\t{\n\t\tfunction process(match, regexInfo)\n\t\t{\n\t\t\tvar constructor = SyntaxHighlighter.Match,\n\t\t\t\tcode = match[0],\n\t\t\t\ttag = new XRegExp('(&lt;|<)[\\\\s\\\\/\\\\?]*(?<name>[:\\\\w-\\\\.]+)', 'xg').exec(code),\n\t\t\t\tresult = []\n\t\t\t\t;\n\t\t\n\t\t\tif (match.attributes != null) \n\t\t\t{\n\t\t\t\tvar attributes,\n\t\t\t\t\tregex = new XRegExp('(?<name> [\\\\w:\\\\-\\\\.]+)' +\n\t\t\t\t\t\t\t\t\t\t'\\\\s*=\\\\s*' +\n\t\t\t\t\t\t\t\t\t\t'(?<value> \".*?\"|\\'.*?\\'|\\\\w+)',\n\t\t\t\t\t\t\t\t\t\t'xg');\n\n\t\t\t\twhile ((attributes = regex.exec(code)) != null) \n\t\t\t\t{\n\t\t\t\t\tresult.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));\n\t\t\t\t\tresult.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tag != null)\n\t\t\t\tresult.push(\n\t\t\t\t\tnew constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')\n\t\t\t\t);\n\n\t\t\treturn result;\n\t\t}\n\t\n\t\tthis.regexList = [\n\t\t\t{ regex: new XRegExp('(\\\\&lt;|<)\\\\!\\\\[[\\\\w\\\\s]*?\\\\[(.|\\\\s)*?\\\\]\\\\](\\\\&gt;|>)', 'gm'),\t\t\tcss: 'color2' },\t// <![ ... [ ... ]]>\n\t\t\t{ regex: SyntaxHighlighter.regexLib.xmlComments,\t\t\t\t\t\t\t\t\t\t\t\tcss: 'comments' },\t// <!-- ... -->\n\t\t\t{ regex: new XRegExp('(&lt;|<)[\\\\s\\\\/\\\\?]*(\\\\w+)(?<attributes>.*?)[\\\\s\\\\/\\\\?]*(&gt;|>)', 'sg'), func: process }\n\t\t];\n\t};\n\n\tBrush.prototype\t= new SyntaxHighlighter.Highlighter();\n\tBrush.aliases\t= ['xml', 'xhtml', 'xslt', 'html'];\n\n\tSyntaxHighlighter.brushes.Xml = Brush;\n\n\t// CommonJS\n\ttypeof(exports) != 'undefined' ? exports.Brush = Brush : null;\n})();\n"
  },
  {
    "path": "lib/syntax/shCore.js",
    "content": "/**\n * SyntaxHighlighter\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * SyntaxHighlighter is donationware. If you are using it, please donate.\n * http://alexgorbatchev.com/SyntaxHighlighter/donate.html\n *\n * @version\n * 3.0.83 (July 02 2010)\n * \n * @copyright\n * Copyright (C) 2004-2010 Alex Gorbatchev.\n *\n * @license\n * Dual licensed under the MIT and GPL licenses.\n */\neval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c])}}return p}('K M;I(M)1S 2U(\"2a\\'t 4k M 4K 2g 3l 4G 4H\");(6(){6 r(f,e){I(!M.1R(f))1S 3m(\"3s 15 4R\");K a=f.1w;f=M(f.1m,t(f)+(e||\"\"));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?\"g\":\"\")+(f.4s?\"i\":\"\")+(f.4p?\"m\":\"\")+(f.4v?\"x\":\"\")+(f.3n?\"y\":\"\")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]===e)H a;H-1}M=6(f,e){K a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!==1d)1S 3m(\"2a\\'t 5r 5I 5F 5B 5C 15 5E 5p\");H r(f)}I(v)1S 2U(\"2a\\'t W 3l M 59 5m 5g 5x 5i\");e=e||\"\";O(d={2N:11,19:[],2K:6(g){H e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y I(h=n.X.W(z[b],f.1a(c))){a.U(h[0]);c+=h[0].L}Y{h=f.3a(c);I(h===\"[\")b=M.2I;Y I(h===\"]\")b=M.1B;a.U(h);c++}a=15(a.1K(\"\"),n.Q.W(e,w,\"\"));a.1w={1m:f,19:d.2N?d.19:N};H a};M.3v=\"1.5.0\";M.2I=1;M.1B=2;K C=/\\\\$(?:(\\\\d\\\\d?|[$&`\\'])|{([$\\\\w]+)})/g,w=/[^5h]+|([\\\\s\\\\S])(?=[\\\\s\\\\S]*\\\\1)/g,A=/^(?:[?*+]|{\\\\d+(?:,\\\\d*)?})\\\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,\"\")[1]===1d,D=6(){K f=/^/g;n.1A.W(f,\"\");H!f.12}(),y=6(){K f=/x/g;n.Q.W(\"x\",f,\"\");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\\\29-26-f]{2}|u[\\\\29-26-f]{4}|c[A-3o-z]|[\\\\s\\\\S]))/;z[M.1B]=/^(?:\\\\\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\\\d*|x[\\\\29-26-f]{2}|u[\\\\29-26-f]{4}|c[A-3o-z]|[\\\\s\\\\S])|\\\\(\\\\?[:=!]|[?*+]\\\\?|{\\\\d+(?:,\\\\d*)?}\\\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,\"g\"+(E?\"y\":\"\")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K a=f+\"/\"+(e||\"\");H M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,\"g\")};M.5l=6(f){H f.Q(/[-[\\\\]{}()*+?.,\\\\\\\\^$|#\\\\s]/g,\"\\\\\\\\$&\")};M.5e=6(f,e,a,b){e=r(e,\"g\"+(b&&E?\"y\":\"\"));e.12=a=a||0;f=e.X(f);H b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U(\"2a\\'t 55 1h 54 3q\")}};M.1R=6(f){H 53.Z.1q.W(f)===\"[2m 15]\"};M.3p=6(f,e,a,b){O(K c=r(e,\"g\"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H 6 a(b,c){K d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,\"g\"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||\"\":k[0])});H c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,\"\")>-1){a=15(J.1m,n.Q.W(t(J),\"g\",\"\"));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;b<e.L;b++)I(a=J.1w.19[b-1])e[a]=e[b];!D&&J.1J&&!e[0].L&&J.12>e.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()===\"3f\"&&e.1i(\"${\")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+=\"\";I(1j e===\"6\")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;d<b.L;d++)I(b[d])14[0][b[d]]=14[d+1]}I(a&&f.1J)f.12=14[14.L-2]+14[0].L;H e.1p(N,14)});Y{c=J+\"\";c=n.Q.W(c,f,6(){K d=14;H n.Q.W(e,C,6(h,g,i){I(g)5b(g){24\"$\":H\"$\";24\"&\":H d[0];24\"`\":H d[d.L-1].1a(0,d[d.L-2]);24\"\\'\":H d[d.L-1].1a(d[d.L-2]+d[0].L);5a:i=\"\";g=+g;I(!g)H h;O(;g>d.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||\"\":\"$\")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+\"\",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P<a.L&&3b.Z.U.1p(b,d.1a(1));h=d[0].L;c=f.12;I(b.L>=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,\"\")||h)b.U(\"\")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\\\(\\\\?#[^)]*\\\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?\"\":\"(?:)\"});M.1h(/\\\\((?!\\\\?)/,6(){J.19.U(N);H\"(\"});M.1h(/\\\\(\\\\?<([$\\\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H\"(\"});M.1h(/\\\\\\\\k<([\\\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?\"\\\\\\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?\"\":\"(?:)\"):f[0]});M.1h(/\\\\[\\\\^?]/,6(f){H f[0]===\"[]\"?\"\\\\\\\\b\\\\\\\\B\":\"[\\\\\\\\s\\\\\\\\S]\"});M.1h(/^\\\\(\\\\?([5A]+)\\\\)/,6(f){J.3d(f[1]);H\"\"});M.1h(/(?:\\\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?\"\":\"(?:)\"},M.1B,6(){H J.2K(\"x\")});M.1h(/\\\\./,6(){H\"[\\\\\\\\s\\\\\\\\S]\"},M.1B,6(){H J.2K(\"s\")})})();1j 2e!=\"1d\"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=\" \"+b)}6 t(a){H a.1i(\"3e\")==0?a:\"3e\"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={\"#\":\"1c\",\".\":\"1l\"}[b.1o(0,1)]||\"3h\",g,i;g=h!=\"3h\"?b.1o(1):b.5u();I((a[h]||\"\").1i(g)!=-1)H a;O(a=0;d&&a<d.L&&i==N;a++)i=p(d[a],b,c);H i}6 C(a,b){K c={},d;O(d 2g a)c[d]=a[d];O(d 2g b)c[d]=b[d];H c}6 w(a,b,c,d){6 h(g){g=g||1P.5y;I(!g.1F){g.1F=g.52;g.3N=6(){J.5w=11}}c.W(d||1P,g)}a.3g?a.3g(\"4U\"+b,h):a.4y(b,h,11)}6 A(a,b){K c=e.1Y.2j,d=N;I(c==N){c={};O(K h 2g e.1U){K g=e.1U[h];d=g.4x;I(d!=N){g.1V=h.4w();O(g=0;g<d.L;g++)c[d[g]]=h}}e.1Y.2j=c}d=e.1U[c[a]];d==N&&b!=11&&1P.1X(e.13.1x.1X+(e.13.1x.3E+a));H d}6 v(a,b){O(K c=a.1e(\"\\\\n\"),d=0;d<c.L;d++)c[d]=b(c[d],d);H c.1K(\"\\\\n\")}6 u(a,b){I(a==N||a.L==0||a==\"\\\\n\")H a;a=a.Q(/</g,\"&1y;\");a=a.Q(/ {2,}/g,6(c){O(K d=\"\",h=0;h<c.L-1;h++)d+=e.13.1W;H d+\" \"});I(b!=N)a=v(a,6(c){I(c.L==0)H\"\";K d=\"\";c=c.Q(/^(&2s;| )+/,6(h){d=h;H\"\"});I(c.L==0)H d;H d+\\'<17 1g=\"\\'+b+\\'\">\\'+c+\"</17>\"});H a}6 n(a,b){a.1e(\"\\\\n\");O(K c=\"\",d=0;d<50;d++)c+=\"                    \";H a=v(a,6(h){I(h.1i(\"\\\\t\")==-1)H h;O(K g=0;(g=h.1i(\"\\\\t\"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\\\s+|\\\\s+$/g,\"\")}6 D(a,b){I(a.P<b.P)H-1;Y I(a.P>b.P)H 1;Y I(a.L<b.L)H-1;Y I(a.L>b.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i==\"3f\")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d=\"\",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\\'<a 2h=\"\\'+c+\\'\">\\'+c+\"</a>\"+d})}6 z(){O(K a=1E.36(\"1k\"),b=[],c=0;c<a.L;c++)a[c].3s==\"20\"&&b.U(a[c]);H b}6 f(a){a=a.1F;K b=p(a,\".20\",R);a=p(a,\".3O\",R);K c=1E.4i(\"3t\");I(!(!a||!b||p(a,\"3t\"))){B(b.1c);r(b,\"1m\");O(K d=a.3G,h=[],g=0;g<d.L;g++)h.U(d[g].4z||d[g].4A);h=h.1K(\"\\\\r\");c.39(1E.4D(h));a.39(c);c.2C();c.4C();w(c,\"4u\",6(){c.2G.4E(c);b.1l=b.1l.Q(\"1m\",\"\")})}}I(1j 3F!=\"1d\"&&1j M==\"1d\")M=3F(\"M\").M;K e={2v:{\"1g-27\":\"\",\"2i-1s\":1,\"2z-1s-2t\":11,1M:N,1t:N,\"42-45\":R,\"43-22\":4,1u:R,16:R,\"3V-17\":R,2l:11,\"41-40\":R,2k:11,\"1z-1k\":11},13:{1W:\"&2s;\",2M:R,46:11,44:11,34:\"4n\",1x:{21:\"4o 1m\",2P:\"?\",1X:\"1v\\\\n\\\\n\",3E:\"4r\\'t 4t 1D O: \",4g:\"4m 4B\\'t 51 O 1z-1k 4F: \",37:\\'<!4T 1z 4S \"-//4V//3H 4W 1.0 4Z//4Y\" \"1Z://2y.3L.3K/4X/3I/3H/3I-4P.4J\"><1z 4I=\"1Z://2y.3L.3K/4L/5L\"><3J><4N 1Z-4M=\"5G-5M\" 6K=\"2O/1z; 6J=6I-8\" /><1t>6L 1v</1t></3J><3B 1L=\"25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;\"><T 1L=\"2O-3D:3C;3w-32:1.6z;\"><T 1L=\"25-22:6A-6E;\">1v</T><T 1L=\"25-22:.6C;3w-6B:6R;\"><T>3v 3.0.76 (72 73 3x)</T><T><a 2h=\"1Z://3u.2w/1v\" 1F=\"38\" 1L=\"2f:#3y\">1Z://3u.2w/1v</a></T><T>70 17 6U 71.</T><T>6T 6X-3x 6Y 6D.</T></T><T>6t 61 60 J 1k, 5Z <a 2h=\"6u://2y.62.2w/63-66/65?64=5X-5W&5P=5O\" 1L=\"2f:#3y\">5R</a> 5V <2R/>5U 5T 5S!</T></T></3B></1z>\\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//2c,6m:/\\\\/\\\\/.*$/2c,6l:/#.*$/2c,6k:/\"([^\\\\\\\\\"\\\\n]|\\\\\\\\.)*\"/g,6o:/\\'([^\\\\\\\\\\'\\\\n]|\\\\\\\\.)*\\'/g,6p:1f M(\\'\"([^\\\\\\\\\\\\\\\\\"]|\\\\\\\\\\\\\\\\.)*\"\\',\"3z\"),6s:1f M(\"\\'([^\\\\\\\\\\\\\\\\\\']|\\\\\\\\\\\\\\\\.)*\\'\",\"3z\"),6q:/(&1y;|<)!--[\\\\s\\\\S]*?--(&1G;|>)/2c,3M:/\\\\w+:\\\\/\\\\/[\\\\w-.\\\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\\\?=?/g,1b:/\\\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\\\/\\\\s*1k\\\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\\'<T 1g=\"16\">\\',d=e.16.2x,h=d.2X,g=0;g<h.L;g++)c+=(d[h[g]].1H||b)(a,h[g]);c+=\"</T>\";H c},2o:6(a,b,c){H\\'<2W><a 2h=\"#\" 1g=\"6e 6h\\'+b+\" \"+b+\\'\">\\'+c+\"</a></2W>\"},2b:6(a){K b=a.1F,c=b.1l||\"\";b=B(p(b,\".20\",R).1c);K d=6(h){H(h=15(h+\"6f(\\\\\\\\w+)\").X(c))?h[1]:N}(\"6g\");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:[\"21\",\"2P\"],21:{1H:6(a){I(a.V(\"2l\")!=R)H\"\";K b=a.V(\"1t\");H e.16.2o(a,\"21\",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q(\"47\",\"\")}},2P:{2B:6(){K a=\"68=0\";a+=\", 18=\"+(31.30-33)/2+\", 32=\"+(31.2Z-2Y)/2+\", 30=33, 2Z=2Y\";a=a.Q(/^,/,\"\");a=1P.6Z(\"\",\"38\",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h<c.L;h++)d.U(c[h]);c=d}c=c;d=[];I(e.13.2M)c=c.1O(z());I(c.L===0)H d;O(h=0;h<c.L;h++){O(K g=c[h],i=a,k=c[h].1l,j=3W 0,l={},m=1f M(\"^\\\\\\\\[(?<2V>(.*?))\\\\\\\\]$\"),s=1f M(\"(?<27>[\\\\\\\\w-]+)\\\\\\\\s*:\\\\\\\\s*(?<1T>[\\\\\\\\w-%#]+|\\\\\\\\[.*?\\\\\\\\]|\\\\\".*?\\\\\"|\\'.*?\\')\\\\\\\\s*;?\",\"g\");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\\'\"]|[\\'\"]$/g,\"\");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\\\s*,\\\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g<c.L;g++){b=c[g];K i=b.1F,k=b.1n,j=k.1D,l;I(j!=N){I(k[\"1z-1k\"]==\"R\"||e.2v[\"1z-1k\"]==R){d=1f e.4l(j);j=\"4O\"}Y I(d=A(j))d=1f d;Y 6H;l=i.3X;I(h.2M){l=l;K m=x(l),s=11;I(m.1i(\"<![6G[\")==0){m=m.4h(9);s=R}K o=m.L;I(m.1i(\"]]\\\\>\")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||\"\")!=\"\")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||\"\")!=\"\")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,\"4k\",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;m<j.L;m++)j[m].P+=l}K c=A(a),d,h=1f e.1U.5Y,g=J,i=\"2F 1H 2Q\".1e(\" \");I(c!=N){d=1f c;O(K k=0;k<i.L;k++)(6(){K j=i[k];g[j]=6(){H h[j].1p(h,14)}})();d.28==N?1P.1X(e.13.1x.1X+(e.13.1x.4g+a)):h.2J.U({1I:d.28.17,2D:6(j){O(K l=j.17,m=[],s=d.2J,o=j.P+j.18.L,F=d.28,q,G=0;G<s.L;G++){q=y(l,s[G]);b(q,o);m=m.1O(q)}I(F.18!=N&&j.18!=N){q=y(j.18,F.18);b(q,j.P);m=m.1O(q)}I(F.1b!=N&&j.1b!=N){q=y(j.1b,F.1b);b(q,j.P+j[0].5Q(j.1b));m=m.1O(q)}O(j=0;j<m.L;j++)m[j].1V=c.1V;H m}})}};e.4j=6(){};e.4j.Z={V:6(a,b){K c=J.1n[a];c=c==N?b:c;K d={\"R\":R,\"11\":11}[c];H d==N?c:d},3Y:6(a){H 1E.4i(a)},4c:6(a,b){K c=[];I(a!=N)O(K d=0;d<a.L;d++)I(1j a[d]==\"2m\")c=c.1O(y(b,a[d]));H J.4e(c.6b(D))},4e:6(a){O(K b=0;b<a.L;b++)I(a[b]!==N)O(K c=a[b],d=c.P+c.L,h=b+1;h<a.L&&a[b]!==N;h++){K g=a[h];I(g!==N)I(g.P>d)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P<d)a[h]=N}H a},4d:6(a){K b=[],c=2u(J.V(\"2i-1s\"));v(a,6(d,h){b.U(h+c)});H b},3U:6(a){K b=J.V(\"1M\",[]);I(1j b!=\"2m\"&&b.U==N)b=[b];a:{a=a.1q();K c=3W 0;O(c=c=1Q.6c(c||0,0);c<b.L;c++)I(b[c]==a){b=c;1N a}b=-1}H b!=-1},2r:6(a,b,c){a=[\"1s\",\"6i\"+b,\"P\"+a,\"6r\"+(b%2==0?1:2).1q()];J.3U(b)&&a.U(\"67\");b==0&&a.U(\"1N\");H\\'<T 1g=\"\\'+a.1K(\" \")+\\'\">\\'+c+\"</T>\"},3Q:6(a,b){K c=\"\",d=a.1e(\"\\\\n\").L,h=2u(J.V(\"2i-1s\")),g=J.V(\"2z-1s-2t\");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i<d;i++){K k=b?b[i]:h+i,j;I(k==0)j=e.13.1W;Y{j=g;O(K l=k.1q();l.L<j;)l=\"0\"+l;j=l}a=j;c+=J.2r(i,k,a)}H c},49:6(a,b){a=x(a);K c=a.1e(\"\\\\n\");J.V(\"2z-1s-2t\");K d=2u(J.V(\"2i-1s\"));a=\"\";O(K h=J.V(\"1D\"),g=0;g<c.L;g++){K i=c[g],k=/^(&2s;|\\\\s)+/.X(i),j=N,l=b?b[g]:d+g;I(k!=N){j=k[0].1q();i=i.1o(j.L);j=j.Q(\" \",e.13.1W)}i=x(i);I(i.L==0)i=e.13.1W;a+=J.2r(g,l,(j!=N?\\'<17 1g=\"\\'+h+\\' 5N\">\\'+j+\"</17>\":\"\")+i)}H a},4f:6(a){H a?\"<4a>\"+a+\"</4a>\":\"\"},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+\" \":\"\"}O(K d=0,h=\"\",g=J.V(\"1D\",\"\"),i=0;i<b.L;i++){K k=b[i],j;I(!(k===N||k.L===0)){j=c(k);h+=u(a.1o(d,k.P-d),j+\"48\")+u(k.1T,j+k.23);d=k.P+k.L+(k.75||0)}}h+=u(a.1o(d),c()+\"48\");H h},1H:6(a){K b=\"\",c=[\"20\"],d;I(J.V(\"2k\")==R)J.1n.16=J.1n.1u=11;1l=\"20\";J.V(\"2l\")==R&&c.U(\"47\");I((1u=J.V(\"1u\"))==11)c.U(\"6S\");c.U(J.V(\"1g-27\"));c.U(J.V(\"1D\"));a=a.Q(/^[ ]*[\\\\n]+|[\\\\n]*[ ]*$/g,\"\").Q(/\\\\r/g,\" \");b=J.V(\"43-22\");I(J.V(\"42-45\")==R)a=n(a,b);Y{O(K h=\"\",g=0;g<b;g++)h+=\" \";a=a.Q(/\\\\t/g,h)}a=a;a:{b=a=a;h=/<2R\\\\s*\\\\/?>|&1y;2R\\\\s*\\\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,\"\\\\n\");I(e.13.44==R)b=b.Q(h,\"\");b=b.1e(\"\\\\n\");h=/^\\\\s*/;g=4Q;O(K i=0;i<b.L&&g>0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i<b.L;i++)b[i]=b[i].1o(g);a=b.1K(\"\\\\n\")}I(1u)d=J.4d(a);b=J.4c(J.2J,a);b=J.4b(a,b);b=J.49(b,d);I(J.V(\"41-40\"))b=E(b);1j 2H!=\"1d\"&&2H.3S&&2H.3S.1C(/5s/)&&c.U(\"5t\");H b=\\'<T 1c=\"\\'+t(J.1c)+\\'\" 1g=\"\\'+c.1K(\" \")+\\'\">\\'+(J.V(\"16\")?e.16.1H(J):\"\")+\\'<3Z 5z=\"0\" 5H=\"0\" 5J=\"0\">\\'+J.4f(J.V(\"1t\"))+\"<3T><3P>\"+(1u?\\'<2d 1g=\"1u\">\\'+J.3Q(a)+\"</2d>\":\"\")+\\'<2d 1g=\"17\"><T 1g=\"3O\">\\'+b+\"</T></2d></3P></3T></3Z></T>\"},2F:6(a){I(a===N)a=\"\";J.17=a;K b=J.3Y(\"T\");b.3X=J.1H(a);J.V(\"16\")&&w(p(b,\".16\"),\"5c\",e.16.2b);J.V(\"3V-17\")&&w(p(b,\".17\"),\"56\",f);H b},2Q:6(a){J.1c=\"\"+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V(\"2k\")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\\\s+|\\\\s+$/g,\"\").Q(/\\\\s+/g,\"|\");H\"\\\\\\\\b(?:\"+a+\")\\\\\\\\b\"},5f:6(a){J.28={18:{1I:a.18,23:\"1k\"},1b:{1I:a.1b,23:\"1k\"},17:1f M(\"(?<18>\"+a.18.1m+\")(?<17>.*?)(?<1b>\"+a.1b.1m+\")\",\"5o\")}}};H e}();1j 2e!=\"1d\"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{}))\n"
  },
  {
    "path": "lib/underscore.js",
    "content": "//     Underscore.js 1.6.0\n//     http://underscorejs.org\n//     (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n//     Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n  // Baseline setup\n  // --------------\n\n  // Establish the root object, `window` in the browser, or `exports` on the server.\n  var root = this;\n\n  // Save the previous value of the `_` variable.\n  var previousUnderscore = root._;\n\n  // Establish the object that gets returned to break out of a loop iteration.\n  var breaker = {};\n\n  // Save bytes in the minified (but not gzipped) version:\n  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n  // Create quick reference variables for speed access to core prototypes.\n  var\n    push             = ArrayProto.push,\n    slice            = ArrayProto.slice,\n    concat           = ArrayProto.concat,\n    toString         = ObjProto.toString,\n    hasOwnProperty   = ObjProto.hasOwnProperty;\n\n  // All **ECMAScript 5** native function implementations that we hope to use\n  // are declared here.\n  var\n    nativeForEach      = ArrayProto.forEach,\n    nativeMap          = ArrayProto.map,\n    nativeReduce       = ArrayProto.reduce,\n    nativeReduceRight  = ArrayProto.reduceRight,\n    nativeFilter       = ArrayProto.filter,\n    nativeEvery        = ArrayProto.every,\n    nativeSome         = ArrayProto.some,\n    nativeIndexOf      = ArrayProto.indexOf,\n    nativeLastIndexOf  = ArrayProto.lastIndexOf,\n    nativeIsArray      = Array.isArray,\n    nativeKeys         = Object.keys,\n    nativeBind         = FuncProto.bind;\n\n  // Create a safe reference to the Underscore object for use below.\n  var _ = function(obj) {\n    if (obj instanceof _) return obj;\n    if (!(this instanceof _)) return new _(obj);\n    this._wrapped = obj;\n  };\n\n  // Export the Underscore object for **Node.js**, with\n  // backwards-compatibility for the old `require()` API. If we're in\n  // the browser, add `_` as a global object via a string identifier,\n  // for Closure Compiler \"advanced\" mode.\n  if (typeof exports !== 'undefined') {\n    if (typeof module !== 'undefined' && module.exports) {\n      exports = module.exports = _;\n    }\n    exports._ = _;\n  } else {\n    root._ = _;\n  }\n\n  // Current version.\n  _.VERSION = '1.6.0';\n\n  // Collection Functions\n  // --------------------\n\n  // The cornerstone, an `each` implementation, aka `forEach`.\n  // Handles objects with the built-in `forEach`, arrays, and raw objects.\n  // Delegates to **ECMAScript 5**'s native `forEach` if available.\n  var each = _.each = _.forEach = function(obj, iterator, context) {\n    if (obj == null) return obj;\n    if (nativeForEach && obj.forEach === nativeForEach) {\n      obj.forEach(iterator, context);\n    } else if (obj.length === +obj.length) {\n      for (var i = 0, length = obj.length; i < length; i++) {\n        if (iterator.call(context, obj[i], i, obj) === breaker) return;\n      }\n    } else {\n      var keys = _.keys(obj);\n      for (var i = 0, length = keys.length; i < length; i++) {\n        if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker) return;\n      }\n    }\n    return obj;\n  };\n\n  // Return the results of applying the iterator to each element.\n  // Delegates to **ECMAScript 5**'s native `map` if available.\n  _.map = _.collect = function(obj, iterator, context) {\n    var results = [];\n    if (obj == null) return results;\n    if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);\n    each(obj, function(value, index, list) {\n      results.push(iterator.call(context, value, index, list));\n    });\n    return results;\n  };\n\n  var reduceError = 'Reduce of empty array with no initial value';\n\n  // **Reduce** builds up a single result from a list of values, aka `inject`,\n  // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.\n  _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {\n    var initial = arguments.length > 2;\n    if (obj == null) obj = [];\n    if (nativeReduce && obj.reduce === nativeReduce) {\n      if (context) iterator = _.bind(iterator, context);\n      return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);\n    }\n    each(obj, function(value, index, list) {\n      if (!initial) {\n        memo = value;\n        initial = true;\n      } else {\n        memo = iterator.call(context, memo, value, index, list);\n      }\n    });\n    if (!initial) throw new TypeError(reduceError);\n    return memo;\n  };\n\n  // The right-associative version of reduce, also known as `foldr`.\n  // Delegates to **ECMAScript 5**'s native `reduceRight` if available.\n  _.reduceRight = _.foldr = function(obj, iterator, memo, context) {\n    var initial = arguments.length > 2;\n    if (obj == null) obj = [];\n    if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {\n      if (context) iterator = _.bind(iterator, context);\n      return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);\n    }\n    var length = obj.length;\n    if (length !== +length) {\n      var keys = _.keys(obj);\n      length = keys.length;\n    }\n    each(obj, function(value, index, list) {\n      index = keys ? keys[--length] : --length;\n      if (!initial) {\n        memo = obj[index];\n        initial = true;\n      } else {\n        memo = iterator.call(context, memo, obj[index], index, list);\n      }\n    });\n    if (!initial) throw new TypeError(reduceError);\n    return memo;\n  };\n\n  // Return the first value which passes a truth test. Aliased as `detect`.\n  _.find = _.detect = function(obj, predicate, context) {\n    var result;\n    any(obj, function(value, index, list) {\n      if (predicate.call(context, value, index, list)) {\n        result = value;\n        return true;\n      }\n    });\n    return result;\n  };\n\n  // Return all the elements that pass a truth test.\n  // Delegates to **ECMAScript 5**'s native `filter` if available.\n  // Aliased as `select`.\n  _.filter = _.select = function(obj, predicate, context) {\n    var results = [];\n    if (obj == null) return results;\n    if (nativeFilter && obj.filter === nativeFilter) return obj.filter(predicate, context);\n    each(obj, function(value, index, list) {\n      if (predicate.call(context, value, index, list)) results.push(value);\n    });\n    return results;\n  };\n\n  // Return all the elements for which a truth test fails.\n  _.reject = function(obj, predicate, context) {\n    return _.filter(obj, function(value, index, list) {\n      return !predicate.call(context, value, index, list);\n    }, context);\n  };\n\n  // Determine whether all of the elements match a truth test.\n  // Delegates to **ECMAScript 5**'s native `every` if available.\n  // Aliased as `all`.\n  _.every = _.all = function(obj, predicate, context) {\n    predicate || (predicate = _.identity);\n    var result = true;\n    if (obj == null) return result;\n    if (nativeEvery && obj.every === nativeEvery) return obj.every(predicate, context);\n    each(obj, function(value, index, list) {\n      if (!(result = result && predicate.call(context, value, index, list))) return breaker;\n    });\n    return !!result;\n  };\n\n  // Determine if at least one element in the object matches a truth test.\n  // Delegates to **ECMAScript 5**'s native `some` if available.\n  // Aliased as `any`.\n  var any = _.some = _.any = function(obj, predicate, context) {\n    predicate || (predicate = _.identity);\n    var result = false;\n    if (obj == null) return result;\n    if (nativeSome && obj.some === nativeSome) return obj.some(predicate, context);\n    each(obj, function(value, index, list) {\n      if (result || (result = predicate.call(context, value, index, list))) return breaker;\n    });\n    return !!result;\n  };\n\n  // Determine if the array or object contains a given value (using `===`).\n  // Aliased as `include`.\n  _.contains = _.include = function(obj, target) {\n    if (obj == null) return false;\n    if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;\n    return any(obj, function(value) {\n      return value === target;\n    });\n  };\n\n  // Invoke a method (with arguments) on every item in a collection.\n  _.invoke = function(obj, method) {\n    var args = slice.call(arguments, 2);\n    var isFunc = _.isFunction(method);\n    return _.map(obj, function(value) {\n      return (isFunc ? method : value[method]).apply(value, args);\n    });\n  };\n\n  // Convenience version of a common use case of `map`: fetching a property.\n  _.pluck = function(obj, key) {\n    return _.map(obj, _.property(key));\n  };\n\n  // Convenience version of a common use case of `filter`: selecting only objects\n  // containing specific `key:value` pairs.\n  _.where = function(obj, attrs) {\n    return _.filter(obj, _.matches(attrs));\n  };\n\n  // Convenience version of a common use case of `find`: getting the first object\n  // containing specific `key:value` pairs.\n  _.findWhere = function(obj, attrs) {\n    return _.find(obj, _.matches(attrs));\n  };\n\n  // Return the maximum element or (element-based computation).\n  // Can't optimize arrays of integers longer than 65,535 elements.\n  // See [WebKit Bug 80797](https://bugs.webkit.org/show_bug.cgi?id=80797)\n  _.max = function(obj, iterator, context) {\n    if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {\n      return Math.max.apply(Math, obj);\n    }\n    var result = -Infinity, lastComputed = -Infinity;\n    each(obj, function(value, index, list) {\n      var computed = iterator ? iterator.call(context, value, index, list) : value;\n      if (computed > lastComputed) {\n        result = value;\n        lastComputed = computed;\n      }\n    });\n    return result;\n  };\n\n  // Return the minimum element (or element-based computation).\n  _.min = function(obj, iterator, context) {\n    if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {\n      return Math.min.apply(Math, obj);\n    }\n    var result = Infinity, lastComputed = Infinity;\n    each(obj, function(value, index, list) {\n      var computed = iterator ? iterator.call(context, value, index, list) : value;\n      if (computed < lastComputed) {\n        result = value;\n        lastComputed = computed;\n      }\n    });\n    return result;\n  };\n\n  // Shuffle an array, using the modern version of the\n  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n  _.shuffle = function(obj) {\n    var rand;\n    var index = 0;\n    var shuffled = [];\n    each(obj, function(value) {\n      rand = _.random(index++);\n      shuffled[index - 1] = shuffled[rand];\n      shuffled[rand] = value;\n    });\n    return shuffled;\n  };\n\n  // Sample **n** random values from a collection.\n  // If **n** is not specified, returns a single random element.\n  // The internal `guard` argument allows it to work with `map`.\n  _.sample = function(obj, n, guard) {\n    if (n == null || guard) {\n      if (obj.length !== +obj.length) obj = _.values(obj);\n      return obj[_.random(obj.length - 1)];\n    }\n    return _.shuffle(obj).slice(0, Math.max(0, n));\n  };\n\n  // An internal function to generate lookup iterators.\n  var lookupIterator = function(value) {\n    if (value == null) return _.identity;\n    if (_.isFunction(value)) return value;\n    return _.property(value);\n  };\n\n  // Sort the object's values by a criterion produced by an iterator.\n  _.sortBy = function(obj, iterator, context) {\n    iterator = lookupIterator(iterator);\n    return _.pluck(_.map(obj, function(value, index, list) {\n      return {\n        value: value,\n        index: index,\n        criteria: iterator.call(context, value, index, list)\n      };\n    }).sort(function(left, right) {\n      var a = left.criteria;\n      var b = right.criteria;\n      if (a !== b) {\n        if (a > b || a === void 0) return 1;\n        if (a < b || b === void 0) return -1;\n      }\n      return left.index - right.index;\n    }), 'value');\n  };\n\n  // An internal function used for aggregate \"group by\" operations.\n  var group = function(behavior) {\n    return function(obj, iterator, context) {\n      var result = {};\n      iterator = lookupIterator(iterator);\n      each(obj, function(value, index) {\n        var key = iterator.call(context, value, index, obj);\n        behavior(result, key, value);\n      });\n      return result;\n    };\n  };\n\n  // Groups the object's values by a criterion. Pass either a string attribute\n  // to group by, or a function that returns the criterion.\n  _.groupBy = group(function(result, key, value) {\n    _.has(result, key) ? result[key].push(value) : result[key] = [value];\n  });\n\n  // Indexes the object's values by a criterion, similar to `groupBy`, but for\n  // when you know that your index values will be unique.\n  _.indexBy = group(function(result, key, value) {\n    result[key] = value;\n  });\n\n  // Counts instances of an object that group by a certain criterion. Pass\n  // either a string attribute to count by, or a function that returns the\n  // criterion.\n  _.countBy = group(function(result, key) {\n    _.has(result, key) ? result[key]++ : result[key] = 1;\n  });\n\n  // Use a comparator function to figure out the smallest index at which\n  // an object should be inserted so as to maintain order. Uses binary search.\n  _.sortedIndex = function(array, obj, iterator, context) {\n    iterator = lookupIterator(iterator);\n    var value = iterator.call(context, obj);\n    var low = 0, high = array.length;\n    while (low < high) {\n      var mid = (low + high) >>> 1;\n      iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid;\n    }\n    return low;\n  };\n\n  // Safely create a real, live array from anything iterable.\n  _.toArray = function(obj) {\n    if (!obj) return [];\n    if (_.isArray(obj)) return slice.call(obj);\n    if (obj.length === +obj.length) return _.map(obj, _.identity);\n    return _.values(obj);\n  };\n\n  // Return the number of elements in an object.\n  _.size = function(obj) {\n    if (obj == null) return 0;\n    return (obj.length === +obj.length) ? obj.length : _.keys(obj).length;\n  };\n\n  // Array Functions\n  // ---------------\n\n  // Get the first element of an array. Passing **n** will return the first N\n  // values in the array. Aliased as `head` and `take`. The **guard** check\n  // allows it to work with `_.map`.\n  _.first = _.head = _.take = function(array, n, guard) {\n    if (array == null) return void 0;\n    if ((n == null) || guard) return array[0];\n    if (n < 0) return [];\n    return slice.call(array, 0, n);\n  };\n\n  // Returns everything but the last entry of the array. Especially useful on\n  // the arguments object. Passing **n** will return all the values in\n  // the array, excluding the last N. The **guard** check allows it to work with\n  // `_.map`.\n  _.initial = function(array, n, guard) {\n    return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));\n  };\n\n  // Get the last element of an array. Passing **n** will return the last N\n  // values in the array. The **guard** check allows it to work with `_.map`.\n  _.last = function(array, n, guard) {\n    if (array == null) return void 0;\n    if ((n == null) || guard) return array[array.length - 1];\n    return slice.call(array, Math.max(array.length - n, 0));\n  };\n\n  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n  // Especially useful on the arguments object. Passing an **n** will return\n  // the rest N values in the array. The **guard**\n  // check allows it to work with `_.map`.\n  _.rest = _.tail = _.drop = function(array, n, guard) {\n    return slice.call(array, (n == null) || guard ? 1 : n);\n  };\n\n  // Trim out all falsy values from an array.\n  _.compact = function(array) {\n    return _.filter(array, _.identity);\n  };\n\n  // Internal implementation of a recursive `flatten` function.\n  var flatten = function(input, shallow, output) {\n    if (shallow && _.every(input, _.isArray)) {\n      return concat.apply(output, input);\n    }\n    each(input, function(value) {\n      if (_.isArray(value) || _.isArguments(value)) {\n        shallow ? push.apply(output, value) : flatten(value, shallow, output);\n      } else {\n        output.push(value);\n      }\n    });\n    return output;\n  };\n\n  // Flatten out an array, either recursively (by default), or just one level.\n  _.flatten = function(array, shallow) {\n    return flatten(array, shallow, []);\n  };\n\n  // Return a version of the array that does not contain the specified value(s).\n  _.without = function(array) {\n    return _.difference(array, slice.call(arguments, 1));\n  };\n\n  // Split an array into two arrays: one whose elements all satisfy the given\n  // predicate, and one whose elements all do not satisfy the predicate.\n  _.partition = function(array, predicate) {\n    var pass = [], fail = [];\n    each(array, function(elem) {\n      (predicate(elem) ? pass : fail).push(elem);\n    });\n    return [pass, fail];\n  };\n\n  // Produce a duplicate-free version of the array. If the array has already\n  // been sorted, you have the option of using a faster algorithm.\n  // Aliased as `unique`.\n  _.uniq = _.unique = function(array, isSorted, iterator, context) {\n    if (_.isFunction(isSorted)) {\n      context = iterator;\n      iterator = isSorted;\n      isSorted = false;\n    }\n    var initial = iterator ? _.map(array, iterator, context) : array;\n    var results = [];\n    var seen = [];\n    each(initial, function(value, index) {\n      if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) {\n        seen.push(value);\n        results.push(array[index]);\n      }\n    });\n    return results;\n  };\n\n  // Produce an array that contains the union: each distinct element from all of\n  // the passed-in arrays.\n  _.union = function() {\n    return _.uniq(_.flatten(arguments, true));\n  };\n\n  // Produce an array that contains every item shared between all the\n  // passed-in arrays.\n  _.intersection = function(array) {\n    var rest = slice.call(arguments, 1);\n    return _.filter(_.uniq(array), function(item) {\n      return _.every(rest, function(other) {\n        return _.contains(other, item);\n      });\n    });\n  };\n\n  // Take the difference between one array and a number of other arrays.\n  // Only the elements present in just the first array will remain.\n  _.difference = function(array) {\n    var rest = concat.apply(ArrayProto, slice.call(arguments, 1));\n    return _.filter(array, function(value){ return !_.contains(rest, value); });\n  };\n\n  // Zip together multiple lists into a single array -- elements that share\n  // an index go together.\n  _.zip = function() {\n    var length = _.max(_.pluck(arguments, 'length').concat(0));\n    var results = new Array(length);\n    for (var i = 0; i < length; i++) {\n      results[i] = _.pluck(arguments, '' + i);\n    }\n    return results;\n  };\n\n  // Converts lists into objects. Pass either a single array of `[key, value]`\n  // pairs, or two parallel arrays of the same length -- one of keys, and one of\n  // the corresponding values.\n  _.object = function(list, values) {\n    if (list == null) return {};\n    var result = {};\n    for (var i = 0, length = list.length; i < length; i++) {\n      if (values) {\n        result[list[i]] = values[i];\n      } else {\n        result[list[i][0]] = list[i][1];\n      }\n    }\n    return result;\n  };\n\n  // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),\n  // we need this function. Return the position of the first occurrence of an\n  // item in an array, or -1 if the item is not included in the array.\n  // Delegates to **ECMAScript 5**'s native `indexOf` if available.\n  // If the array is large and already in sort order, pass `true`\n  // for **isSorted** to use binary search.\n  _.indexOf = function(array, item, isSorted) {\n    if (array == null) return -1;\n    var i = 0, length = array.length;\n    if (isSorted) {\n      if (typeof isSorted == 'number') {\n        i = (isSorted < 0 ? Math.max(0, length + isSorted) : isSorted);\n      } else {\n        i = _.sortedIndex(array, item);\n        return array[i] === item ? i : -1;\n      }\n    }\n    if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted);\n    for (; i < length; i++) if (array[i] === item) return i;\n    return -1;\n  };\n\n  // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.\n  _.lastIndexOf = function(array, item, from) {\n    if (array == null) return -1;\n    var hasIndex = from != null;\n    if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) {\n      return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item);\n    }\n    var i = (hasIndex ? from : array.length);\n    while (i--) if (array[i] === item) return i;\n    return -1;\n  };\n\n  // Generate an integer Array containing an arithmetic progression. A port of\n  // the native Python `range()` function. See\n  // [the Python documentation](http://docs.python.org/library/functions.html#range).\n  _.range = function(start, stop, step) {\n    if (arguments.length <= 1) {\n      stop = start || 0;\n      start = 0;\n    }\n    step = arguments[2] || 1;\n\n    var length = Math.max(Math.ceil((stop - start) / step), 0);\n    var idx = 0;\n    var range = new Array(length);\n\n    while(idx < length) {\n      range[idx++] = start;\n      start += step;\n    }\n\n    return range;\n  };\n\n  // Function (ahem) Functions\n  // ------------------\n\n  // Reusable constructor function for prototype setting.\n  var ctor = function(){};\n\n  // Create a function bound to a given object (assigning `this`, and arguments,\n  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n  // available.\n  _.bind = function(func, context) {\n    var args, bound;\n    if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n    if (!_.isFunction(func)) throw new TypeError;\n    args = slice.call(arguments, 2);\n    return bound = function() {\n      if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));\n      ctor.prototype = func.prototype;\n      var self = new ctor;\n      ctor.prototype = null;\n      var result = func.apply(self, args.concat(slice.call(arguments)));\n      if (Object(result) === result) return result;\n      return self;\n    };\n  };\n\n  // Partially apply a function by creating a version that has had some of its\n  // arguments pre-filled, without changing its dynamic `this` context. _ acts\n  // as a placeholder, allowing any combination of arguments to be pre-filled.\n  _.partial = function(func) {\n    var boundArgs = slice.call(arguments, 1);\n    return function() {\n      var position = 0;\n      var args = boundArgs.slice();\n      for (var i = 0, length = args.length; i < length; i++) {\n        if (args[i] === _) args[i] = arguments[position++];\n      }\n      while (position < arguments.length) args.push(arguments[position++]);\n      return func.apply(this, args);\n    };\n  };\n\n  // Bind a number of an object's methods to that object. Remaining arguments\n  // are the method names to be bound. Useful for ensuring that all callbacks\n  // defined on an object belong to it.\n  _.bindAll = function(obj) {\n    var funcs = slice.call(arguments, 1);\n    if (funcs.length === 0) throw new Error('bindAll must be passed function names');\n    each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });\n    return obj;\n  };\n\n  // Memoize an expensive function by storing its results.\n  _.memoize = function(func, hasher) {\n    var memo = {};\n    hasher || (hasher = _.identity);\n    return function() {\n      var key = hasher.apply(this, arguments);\n      return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));\n    };\n  };\n\n  // Delays a function for the given number of milliseconds, and then calls\n  // it with the arguments supplied.\n  _.delay = function(func, wait) {\n    var args = slice.call(arguments, 2);\n    return setTimeout(function(){ return func.apply(null, args); }, wait);\n  };\n\n  // Defers a function, scheduling it to run after the current call stack has\n  // cleared.\n  _.defer = function(func) {\n    return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));\n  };\n\n  // Returns a function, that, when invoked, will only be triggered at most once\n  // during a given window of time. Normally, the throttled function will run\n  // as much as it can, without ever going more than once per `wait` duration;\n  // but if you'd like to disable the execution on the leading edge, pass\n  // `{leading: false}`. To disable execution on the trailing edge, ditto.\n  _.throttle = function(func, wait, options) {\n    var context, args, result;\n    var timeout = null;\n    var previous = 0;\n    options || (options = {});\n    var later = function() {\n      previous = options.leading === false ? 0 : _.now();\n      timeout = null;\n      result = func.apply(context, args);\n      context = args = null;\n    };\n    return function() {\n      var now = _.now();\n      if (!previous && options.leading === false) previous = now;\n      var remaining = wait - (now - previous);\n      context = this;\n      args = arguments;\n      if (remaining <= 0) {\n        clearTimeout(timeout);\n        timeout = null;\n        previous = now;\n        result = func.apply(context, args);\n        context = args = null;\n      } else if (!timeout && options.trailing !== false) {\n        timeout = setTimeout(later, remaining);\n      }\n      return result;\n    };\n  };\n\n  // Returns a function, that, as long as it continues to be invoked, will not\n  // be triggered. The function will be called after it stops being called for\n  // N milliseconds. If `immediate` is passed, trigger the function on the\n  // leading edge, instead of the trailing.\n  _.debounce = function(func, wait, immediate) {\n    var timeout, args, context, timestamp, result;\n\n    var later = function() {\n      var last = _.now() - timestamp;\n      if (last < wait) {\n        timeout = setTimeout(later, wait - last);\n      } else {\n        timeout = null;\n        if (!immediate) {\n          result = func.apply(context, args);\n          context = args = null;\n        }\n      }\n    };\n\n    return function() {\n      context = this;\n      args = arguments;\n      timestamp = _.now();\n      var callNow = immediate && !timeout;\n      if (!timeout) {\n        timeout = setTimeout(later, wait);\n      }\n      if (callNow) {\n        result = func.apply(context, args);\n        context = args = null;\n      }\n\n      return result;\n    };\n  };\n\n  // Returns a function that will be executed at most one time, no matter how\n  // often you call it. Useful for lazy initialization.\n  _.once = function(func) {\n    var ran = false, memo;\n    return function() {\n      if (ran) return memo;\n      ran = true;\n      memo = func.apply(this, arguments);\n      func = null;\n      return memo;\n    };\n  };\n\n  // Returns the first function passed as an argument to the second,\n  // allowing you to adjust arguments, run code before and after, and\n  // conditionally execute the original function.\n  _.wrap = function(func, wrapper) {\n    return _.partial(wrapper, func);\n  };\n\n  // Returns a function that is the composition of a list of functions, each\n  // consuming the return value of the function that follows.\n  _.compose = function() {\n    var funcs = arguments;\n    return function() {\n      var args = arguments;\n      for (var i = funcs.length - 1; i >= 0; i--) {\n        args = [funcs[i].apply(this, args)];\n      }\n      return args[0];\n    };\n  };\n\n  // Returns a function that will only be executed after being called N times.\n  _.after = function(times, func) {\n    return function() {\n      if (--times < 1) {\n        return func.apply(this, arguments);\n      }\n    };\n  };\n\n  // Object Functions\n  // ----------------\n\n  // Retrieve the names of an object's properties.\n  // Delegates to **ECMAScript 5**'s native `Object.keys`\n  _.keys = function(obj) {\n    if (!_.isObject(obj)) return [];\n    if (nativeKeys) return nativeKeys(obj);\n    var keys = [];\n    for (var key in obj) if (_.has(obj, key)) keys.push(key);\n    return keys;\n  };\n\n  // Retrieve the values of an object's properties.\n  _.values = function(obj) {\n    var keys = _.keys(obj);\n    var length = keys.length;\n    var values = new Array(length);\n    for (var i = 0; i < length; i++) {\n      values[i] = obj[keys[i]];\n    }\n    return values;\n  };\n\n  // Convert an object into a list of `[key, value]` pairs.\n  _.pairs = function(obj) {\n    var keys = _.keys(obj);\n    var length = keys.length;\n    var pairs = new Array(length);\n    for (var i = 0; i < length; i++) {\n      pairs[i] = [keys[i], obj[keys[i]]];\n    }\n    return pairs;\n  };\n\n  // Invert the keys and values of an object. The values must be serializable.\n  _.invert = function(obj) {\n    var result = {};\n    var keys = _.keys(obj);\n    for (var i = 0, length = keys.length; i < length; i++) {\n      result[obj[keys[i]]] = keys[i];\n    }\n    return result;\n  };\n\n  // Return a sorted list of the function names available on the object.\n  // Aliased as `methods`\n  _.functions = _.methods = function(obj) {\n    var names = [];\n    for (var key in obj) {\n      if (_.isFunction(obj[key])) names.push(key);\n    }\n    return names.sort();\n  };\n\n  // Extend a given object with all the properties in passed-in object(s).\n  _.extend = function(obj) {\n    each(slice.call(arguments, 1), function(source) {\n      if (source) {\n        for (var prop in source) {\n          obj[prop] = source[prop];\n        }\n      }\n    });\n    return obj;\n  };\n\n  // Return a copy of the object only containing the whitelisted properties.\n  _.pick = function(obj) {\n    var copy = {};\n    var keys = concat.apply(ArrayProto, slice.call(arguments, 1));\n    each(keys, function(key) {\n      if (key in obj) copy[key] = obj[key];\n    });\n    return copy;\n  };\n\n   // Return a copy of the object without the blacklisted properties.\n  _.omit = function(obj) {\n    var copy = {};\n    var keys = concat.apply(ArrayProto, slice.call(arguments, 1));\n    for (var key in obj) {\n      if (!_.contains(keys, key)) copy[key] = obj[key];\n    }\n    return copy;\n  };\n\n  // Fill in a given object with default properties.\n  _.defaults = function(obj) {\n    each(slice.call(arguments, 1), function(source) {\n      if (source) {\n        for (var prop in source) {\n          if (obj[prop] === void 0) obj[prop] = source[prop];\n        }\n      }\n    });\n    return obj;\n  };\n\n  // Create a (shallow-cloned) duplicate of an object.\n  _.clone = function(obj) {\n    if (!_.isObject(obj)) return obj;\n    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n  };\n\n  // Invokes interceptor with the obj, and then returns obj.\n  // The primary purpose of this method is to \"tap into\" a method chain, in\n  // order to perform operations on intermediate results within the chain.\n  _.tap = function(obj, interceptor) {\n    interceptor(obj);\n    return obj;\n  };\n\n  // Internal recursive comparison function for `isEqual`.\n  var eq = function(a, b, aStack, bStack) {\n    // Identical objects are equal. `0 === -0`, but they aren't identical.\n    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n    if (a === b) return a !== 0 || 1 / a == 1 / b;\n    // A strict comparison is necessary because `null == undefined`.\n    if (a == null || b == null) return a === b;\n    // Unwrap any wrapped objects.\n    if (a instanceof _) a = a._wrapped;\n    if (b instanceof _) b = b._wrapped;\n    // Compare `[[Class]]` names.\n    var className = toString.call(a);\n    if (className != toString.call(b)) return false;\n    switch (className) {\n      // Strings, numbers, dates, and booleans are compared by value.\n      case '[object String]':\n        // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n        // equivalent to `new String(\"5\")`.\n        return a == String(b);\n      case '[object Number]':\n        // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for\n        // other numeric values.\n        return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);\n      case '[object Date]':\n      case '[object Boolean]':\n        // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n        // millisecond representations. Note that invalid dates with millisecond representations\n        // of `NaN` are not equivalent.\n        return +a == +b;\n      // RegExps are compared by their source patterns and flags.\n      case '[object RegExp]':\n        return a.source == b.source &&\n               a.global == b.global &&\n               a.multiline == b.multiline &&\n               a.ignoreCase == b.ignoreCase;\n    }\n    if (typeof a != 'object' || typeof b != 'object') return false;\n    // Assume equality for cyclic structures. The algorithm for detecting cyclic\n    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n    var length = aStack.length;\n    while (length--) {\n      // Linear search. Performance is inversely proportional to the number of\n      // unique nested structures.\n      if (aStack[length] == a) return bStack[length] == b;\n    }\n    // Objects with different constructors are not equivalent, but `Object`s\n    // from different frames are.\n    var aCtor = a.constructor, bCtor = b.constructor;\n    if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) &&\n                             _.isFunction(bCtor) && (bCtor instanceof bCtor))\n                        && ('constructor' in a && 'constructor' in b)) {\n      return false;\n    }\n    // Add the first object to the stack of traversed objects.\n    aStack.push(a);\n    bStack.push(b);\n    var size = 0, result = true;\n    // Recursively compare objects and arrays.\n    if (className == '[object Array]') {\n      // Compare array lengths to determine if a deep comparison is necessary.\n      size = a.length;\n      result = size == b.length;\n      if (result) {\n        // Deep compare the contents, ignoring non-numeric properties.\n        while (size--) {\n          if (!(result = eq(a[size], b[size], aStack, bStack))) break;\n        }\n      }\n    } else {\n      // Deep compare objects.\n      for (var key in a) {\n        if (_.has(a, key)) {\n          // Count the expected number of properties.\n          size++;\n          // Deep compare each member.\n          if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break;\n        }\n      }\n      // Ensure that both objects contain the same number of properties.\n      if (result) {\n        for (key in b) {\n          if (_.has(b, key) && !(size--)) break;\n        }\n        result = !size;\n      }\n    }\n    // Remove the first object from the stack of traversed objects.\n    aStack.pop();\n    bStack.pop();\n    return result;\n  };\n\n  // Perform a deep comparison to check if two objects are equal.\n  _.isEqual = function(a, b) {\n    return eq(a, b, [], []);\n  };\n\n  // Is a given array, string, or object empty?\n  // An \"empty\" object has no enumerable own-properties.\n  _.isEmpty = function(obj) {\n    if (obj == null) return true;\n    if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;\n    for (var key in obj) if (_.has(obj, key)) return false;\n    return true;\n  };\n\n  // Is a given value a DOM element?\n  _.isElement = function(obj) {\n    return !!(obj && obj.nodeType === 1);\n  };\n\n  // Is a given value an array?\n  // Delegates to ECMA5's native Array.isArray\n  _.isArray = nativeIsArray || function(obj) {\n    return toString.call(obj) == '[object Array]';\n  };\n\n  // Is a given variable an object?\n  _.isObject = function(obj) {\n    return obj === Object(obj);\n  };\n\n  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.\n  each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {\n    _['is' + name] = function(obj) {\n      return toString.call(obj) == '[object ' + name + ']';\n    };\n  });\n\n  // Define a fallback version of the method in browsers (ahem, IE), where\n  // there isn't any inspectable \"Arguments\" type.\n  if (!_.isArguments(arguments)) {\n    _.isArguments = function(obj) {\n      return !!(obj && _.has(obj, 'callee'));\n    };\n  }\n\n  // Optimize `isFunction` if appropriate.\n  if (typeof (/./) !== 'function') {\n    _.isFunction = function(obj) {\n      return typeof obj === 'function';\n    };\n  }\n\n  // Is a given object a finite number?\n  _.isFinite = function(obj) {\n    return isFinite(obj) && !isNaN(parseFloat(obj));\n  };\n\n  // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n  _.isNaN = function(obj) {\n    return _.isNumber(obj) && obj != +obj;\n  };\n\n  // Is a given value a boolean?\n  _.isBoolean = function(obj) {\n    return obj === true || obj === false || toString.call(obj) == '[object Boolean]';\n  };\n\n  // Is a given value equal to null?\n  _.isNull = function(obj) {\n    return obj === null;\n  };\n\n  // Is a given variable undefined?\n  _.isUndefined = function(obj) {\n    return obj === void 0;\n  };\n\n  // Shortcut function for checking if an object has a given property directly\n  // on itself (in other words, not on a prototype).\n  _.has = function(obj, key) {\n    return hasOwnProperty.call(obj, key);\n  };\n\n  // Utility Functions\n  // -----------------\n\n  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n  // previous owner. Returns a reference to the Underscore object.\n  _.noConflict = function() {\n    root._ = previousUnderscore;\n    return this;\n  };\n\n  // Keep the identity function around for default iterators.\n  _.identity = function(value) {\n    return value;\n  };\n\n  _.constant = function(value) {\n    return function () {\n      return value;\n    };\n  };\n\n  _.property = function(key) {\n    return function(obj) {\n      return obj[key];\n    };\n  };\n\n  // Returns a predicate for checking whether an object has a given set of `key:value` pairs.\n  _.matches = function(attrs) {\n    return function(obj) {\n      if (obj === attrs) return true; //avoid comparing an object to itself.\n      for (var key in attrs) {\n        if (attrs[key] !== obj[key])\n          return false;\n      }\n      return true;\n    }\n  };\n\n  // Run a function **n** times.\n  _.times = function(n, iterator, context) {\n    var accum = Array(Math.max(0, n));\n    for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i);\n    return accum;\n  };\n\n  // Return a random integer between min and max (inclusive).\n  _.random = function(min, max) {\n    if (max == null) {\n      max = min;\n      min = 0;\n    }\n    return min + Math.floor(Math.random() * (max - min + 1));\n  };\n\n  // A (possibly faster) way to get the current timestamp as an integer.\n  _.now = Date.now || function() { return new Date().getTime(); };\n\n  // List of HTML entities for escaping.\n  var entityMap = {\n    escape: {\n      '&': '&amp;',\n      '<': '&lt;',\n      '>': '&gt;',\n      '\"': '&quot;',\n      \"'\": '&#x27;'\n    }\n  };\n  entityMap.unescape = _.invert(entityMap.escape);\n\n  // Regexes containing the keys and values listed immediately above.\n  var entityRegexes = {\n    escape:   new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'),\n    unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g')\n  };\n\n  // Functions for escaping and unescaping strings to/from HTML interpolation.\n  _.each(['escape', 'unescape'], function(method) {\n    _[method] = function(string) {\n      if (string == null) return '';\n      return ('' + string).replace(entityRegexes[method], function(match) {\n        return entityMap[method][match];\n      });\n    };\n  });\n\n  // If the value of the named `property` is a function then invoke it with the\n  // `object` as context; otherwise, return it.\n  _.result = function(object, property) {\n    if (object == null) return void 0;\n    var value = object[property];\n    return _.isFunction(value) ? value.call(object) : value;\n  };\n\n  // Add your own custom functions to the Underscore object.\n  _.mixin = function(obj) {\n    each(_.functions(obj), function(name) {\n      var func = _[name] = obj[name];\n      _.prototype[name] = function() {\n        var args = [this._wrapped];\n        push.apply(args, arguments);\n        return result.call(this, func.apply(_, args));\n      };\n    });\n  };\n\n  // Generate a unique integer id (unique within the entire client session).\n  // Useful for temporary DOM ids.\n  var idCounter = 0;\n  _.uniqueId = function(prefix) {\n    var id = ++idCounter + '';\n    return prefix ? prefix + id : id;\n  };\n\n  // By default, Underscore uses ERB-style template delimiters, change the\n  // following template settings to use alternative delimiters.\n  _.templateSettings = {\n    evaluate    : /<%([\\s\\S]+?)%>/g,\n    interpolate : /<%=([\\s\\S]+?)%>/g,\n    escape      : /<%-([\\s\\S]+?)%>/g\n  };\n\n  // When customizing `templateSettings`, if you don't want to define an\n  // interpolation, evaluation or escaping regex, we need one that is\n  // guaranteed not to match.\n  var noMatch = /(.)^/;\n\n  // Certain characters need to be escaped so that they can be put into a\n  // string literal.\n  var escapes = {\n    \"'\":      \"'\",\n    '\\\\':     '\\\\',\n    '\\r':     'r',\n    '\\n':     'n',\n    '\\t':     't',\n    '\\u2028': 'u2028',\n    '\\u2029': 'u2029'\n  };\n\n  var escaper = /\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;\n\n  // JavaScript micro-templating, similar to John Resig's implementation.\n  // Underscore templating handles arbitrary delimiters, preserves whitespace,\n  // and correctly escapes quotes within interpolated code.\n  _.template = function(text, data, settings) {\n    var render;\n    settings = _.defaults({}, settings, _.templateSettings);\n\n    // Combine delimiters into one regular expression via alternation.\n    var matcher = new RegExp([\n      (settings.escape || noMatch).source,\n      (settings.interpolate || noMatch).source,\n      (settings.evaluate || noMatch).source\n    ].join('|') + '|$', 'g');\n\n    // Compile the template source, escaping string literals appropriately.\n    var index = 0;\n    var source = \"__p+='\";\n    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n      source += text.slice(index, offset)\n        .replace(escaper, function(match) { return '\\\\' + escapes[match]; });\n\n      if (escape) {\n        source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n      }\n      if (interpolate) {\n        source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n      }\n      if (evaluate) {\n        source += \"';\\n\" + evaluate + \"\\n__p+='\";\n      }\n      index = offset + match.length;\n      return match;\n    });\n    source += \"';\\n\";\n\n    // If a variable is not specified, place data values in local scope.\n    if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n    source = \"var __t,__p='',__j=Array.prototype.join,\" +\n      \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n      source + \"return __p;\\n\";\n\n    try {\n      render = new Function(settings.variable || 'obj', '_', source);\n    } catch (e) {\n      e.source = source;\n      throw e;\n    }\n\n    if (data) return render(data, _);\n    var template = function(data) {\n      return render.call(this, data, _);\n    };\n\n    // Provide the compiled function source as a convenience for precompilation.\n    template.source = 'function(' + (settings.variable || 'obj') + '){\\n' + source + '}';\n\n    return template;\n  };\n\n  // Add a \"chain\" function, which will delegate to the wrapper.\n  _.chain = function(obj) {\n    return _(obj).chain();\n  };\n\n  // OOP\n  // ---------------\n  // If Underscore is called as a function, it returns a wrapped object that\n  // can be used OO-style. This wrapper holds altered versions of all the\n  // underscore functions. Wrapped objects may be chained.\n\n  // Helper function to continue chaining intermediate results.\n  var result = function(obj) {\n    return this._chain ? _(obj).chain() : obj;\n  };\n\n  // Add all of the Underscore functions to the wrapper object.\n  _.mixin(_);\n\n  // Add all mutator Array functions to the wrapper.\n  each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n    var method = ArrayProto[name];\n    _.prototype[name] = function() {\n      var obj = this._wrapped;\n      method.apply(obj, arguments);\n      if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0];\n      return result.call(this, obj);\n    };\n  });\n\n  // Add all accessor Array functions to the wrapper.\n  each(['concat', 'join', 'slice'], function(name) {\n    var method = ArrayProto[name];\n    _.prototype[name] = function() {\n      return result.call(this, method.apply(this._wrapped, arguments));\n    };\n  });\n\n  _.extend(_.prototype, {\n\n    // Start chaining a wrapped Underscore object.\n    chain: function() {\n      this._chain = true;\n      return this;\n    },\n\n    // Extracts the result from a wrapped and chained object.\n    value: function() {\n      return this._wrapped;\n    }\n\n  });\n\n  // AMD registration happens at the end for compatibility with AMD loaders\n  // that may not enforce next-turn semantics on modules. Even though general\n  // practice for AMD registration is to be anonymous, underscore registers\n  // as a named module because, like jQuery, it is a base library that is\n  // popular enough to be bundled in a third party lib, but not be part of\n  // an AMD load request. Those cases could generate an error when an\n  // anonymous define() is called outside of a loader request.\n  if (typeof define === 'function' && define.amd) {\n    define('underscore', [], function() {\n      return _;\n    });\n  }\n}).call(this);\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"angularjs-audio\",\n  \"version\": \"1.7.3\",\n  \"description\": \"Total awesomeness for playing sounds in AngularJS\",\n  \"license\": \"MIT\",\n  \"author\": {\n    \"name\": \"danielstern\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/danielstern/ngAudio.git\"\n  },\n  \"main\": \"index.js\",\n  \"bugs\": {\n    \"url\": \"https://github.com/danielstern/ngAudio/issues\"\n  },\n  \"homepage\": \"http://danielstern.github.io/ngAudio/\",\n  \"keywords\": [\n    \"ngaudio\",\n    \"angular-audio\"\n  ],\n  \"devDependencies\": {\n    \"browser-sync\": \"^2.14.0\",\n    \"gulp\": \"^4.0.2\",\n    \"gulp-gh-pages\": \"^0.5.4\"\n  },\n  \"engines\": {\n    \"node\": \">=0.10.0\"\n  }\n}\n"
  },
  {
    "path": "test/.bowerrc",
    "content": "{\n    \"directory\": \"bower_components\"\n}\n"
  },
  {
    "path": "test/bower.json",
    "content": "{\n  \"name\": \"ngaudio\",\n  \"private\": true,\n  \"dependencies\": {\n    \"chai\": \"~1.8.0\",\n    \"mocha\": \"~1.14.0\"\n  },\n  \"devDependencies\": {}\n}\n"
  },
  {
    "path": "test/index.html",
    "content": "<!doctype html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <title>Mocha Spec Runner</title>\n    <link rel=\"stylesheet\" href=\"bower_components/mocha/mocha.css\">\n</head>\n<body>\n    <div id=\"mocha\"></div>\n    <script src=\"bower_components/mocha/mocha.js\"></script>\n    <script>mocha.setup('bdd')</script>\n    <script src=\"bower_components/chai/chai.js\"></script>\n    <script>\n        var assert = chai.assert;\n        var expect = chai.expect;\n        var should = chai.should();\n    </script>\n\n    <!-- include source files here... -->\n\n    <!-- include spec files here... -->\n    <script src=\"spec/test.js\"></script>\n\n    <script>mocha.run()</script>\n</body>\n</html>\n"
  },
  {
    "path": "test/spec/test.js",
    "content": "/* global describe, it */\n\n(function () {\n    'use strict';\n\n    describe('Give it some context', function () {\n        describe('maybe a bit more context here', function () {\n            it('should run here few assertions', function () {\n\n            });\n        });\n    });\n})();\n"
  }
]