// Websockethub. Easy chatrooms for your website.
// Copyright © 2014-2017 Websockethub authors (see AUTHORS file)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
"use strict";
(function () {
// got some random words didn't check these (obviously)--don't kill me if
// there's some horrible combination here
var adjectives = "grouchy compassionate buoyant remote required growing impeccable indolent worried pretty unique darling next impressive hard unhappy pungent scratchy elliptical ideal perfect ashamed unimportant front wrathful impossible frightening hidden glass vigilant clear actual thorny daring limited sizzling baggy expensive haunting silly delirious beneficial harmful cheery different frigid both celebrated inconsequential pleased oval improbable close profuse foolhardy flimsy fresh edible loyal sweltering weighty robust arctic testy courageous better prime striped enormous alienated nasty tangible distant hairy terrible astonishing blue acclaimed oblong supportive rusty severe golden bleak watery pesky jumpy single anguished interesting extra-small kindhearted intent tan lanky biodegradable minty polished soggy grizzled bright vibrant shy focused worthless frozen monthly windy neighboring disastrous dreary incompatible gregarious sorrowful quick-witted everlasting flawless informal snappy wiggly forsaken mealy klutzy twin discrete lustrous swift similar unnatural gross regular remorseful same pastel flashy nautical lazy sunny equatorial devoted frequent glittering talkative ringed fickle cumbersome overjoyed late flaky exemplary glossy tinted conscious classic trustworthy infinite witty trim knotty half educated medium juicy favorite female blond worldly complicated motherly tough short-term warmhearted failing delayed bite-sized vast inferior quarterly yawning sour weepy free poor tragic stylish outstanding wee mixed cool bony metallic this each odd quick assured ill-fated jaunty extraneous quarrelsome scary adolescent dizzy square palatable noisy massive rash memorable rowdy perky adept nifty super ornate teeming crowded international uncomfortable mushy petty phony profitable well-made sugary spotted appropriate melodic average distant ugly worrisome evergreen faraway circular tidy grand indelible rotating brave limp knowing gorgeous authentic vapid corrupt imperfect physical subtle humongous".split(" ");
var nouns = "bear jail hospital babies time poison kitty airport substance peace shape crook frame work letter zebra regret lamp brass eyes respect stick pleasure representative shade form pie tax trees veil agreement holiday visitor judge bucket soap passenger government dime mouth approval cakes ice playground brain space language channel cream pipe cough hill control smash stone rings star baby head sisters lip mice land morning parent riddle stream exchange son faucet development force aunt kick love direction prose trousers neck desk breath grass guide pigs zoo father kiss pizzas gun action kettle daughter night lace punishment ghost writer nest river wing print existence prison amusement bone cushion comb throat wood back alley base profit health hobbies boot body spring advice fall spade word end brother debt account country servant apples suit cactus powder field anger grip umbrella birds brick help noise marble teeth beginner owner patch tooth cup border kittens stop transport wealth trick motion volleyball lizards cellar bread jellyfish harbor discovery dirt oven bikes yard insurance boats boy game brush spark clock women baseball stretch soup cub brothers rub order tendency alarm face vase earthquake lunch seed caption top invention eggs carriage frog fuel cover celery plants volcano ball ray flame meat cook suggestion iron event salt notebook market throne attempt pet doll nerve argument snake stomach ducks cemetery sidewalk self trains queen beef zinc flag things payment rabbit pocket canvas eggnog pail brake treatment smile sugar history rainstorm crib hose tramp rate metal rice story farm street mine bait".split(' ');
function makeCSStext() {
// Minified cleanslate.css for resetting host site's CSS
// scope by class, not ID, to allow precedence from #id and tag.class
// selectors below
var cleanslateCSS = '.websockethub_chatroom_cleanslate,.websockethub_chatroom_cleanslate a,.websockethub_chatroom_cleanslate abbr,.websockethub_chatroom_cleanslate acronym,.websockethub_chatroom_cleanslate address,.websockethub_chatroom_cleanslate applet,.websockethub_chatroom_cleanslate article,.websockethub_chatroom_cleanslate aside,.websockethub_chatroom_cleanslate audio,.websockethub_chatroom_cleanslate b,.websockethub_chatroom_cleanslate big,.websockethub_chatroom_cleanslate blockquote,.websockethub_chatroom_cleanslate caption,.websockethub_chatroom_cleanslate cite,.websockethub_chatroom_cleanslate code,.websockethub_chatroom_cleanslate dd,.websockethub_chatroom_cleanslate del,.websockethub_chatroom_cleanslate dfn,.websockethub_chatroom_cleanslate dialog,.websockethub_chatroom_cleanslate div,.websockethub_chatroom_cleanslate dl,.websockethub_chatroom_cleanslate dt,.websockethub_chatroom_cleanslate em,.websockethub_chatroom_cleanslate fieldset,.websockethub_chatroom_cleanslate figure,.websockethub_chatroom_cleanslate font,.websockethub_chatroom_cleanslate footer,.websockethub_chatroom_cleanslate form,.websockethub_chatroom_cleanslate h1,.websockethub_chatroom_cleanslate h2,.websockethub_chatroom_cleanslate h3,.websockethub_chatroom_cleanslate h4,.websockethub_chatroom_cleanslate h5,.websockethub_chatroom_cleanslate h6,.websockethub_chatroom_cleanslate header,.websockethub_chatroom_cleanslate hgroup,.websockethub_chatroom_cleanslate hr,.websockethub_chatroom_cleanslate i,.websockethub_chatroom_cleanslate iframe,.websockethub_chatroom_cleanslate img,.websockethub_chatroom_cleanslate input,.websockethub_chatroom_cleanslate ins,.websockethub_chatroom_cleanslate kbd,.websockethub_chatroom_cleanslate label,.websockethub_chatroom_cleanslate legend,.websockethub_chatroom_cleanslate li,.websockethub_chatroom_cleanslate mark,.websockethub_chatroom_cleanslate menu,.websockethub_chatroom_cleanslate nav,.websockethub_chatroom_cleanslate object,.websockethub_chatroom_cleanslate ol,.websockethub_chatroom_cleanslate option,.websockethub_chatroom_cleanslate p,.websockethub_chatroom_cleanslate pre,.websockethub_chatroom_cleanslate q,.websockethub_chatroom_cleanslate s,.websockethub_chatroom_cleanslate samp,.websockethub_chatroom_cleanslate section,.websockethub_chatroom_cleanslate select,.websockethub_chatroom_cleanslate small,.websockethub_chatroom_cleanslate span,.websockethub_chatroom_cleanslate strike,.websockethub_chatroom_cleanslate strong,.websockethub_chatroom_cleanslate sub,.websockethub_chatroom_cleanslate sup,.websockethub_chatroom_cleanslate table,.websockethub_chatroom_cleanslate tbody,.websockethub_chatroom_cleanslate td,.websockethub_chatroom_cleanslate textarea,.websockethub_chatroom_cleanslate tfoot,.websockethub_chatroom_cleanslate th,.websockethub_chatroom_cleanslate thead,.websockethub_chatroom_cleanslate time,.websockethub_chatroom_cleanslate tr,.websockethub_chatroom_cleanslate tt,.websockethub_chatroom_cleanslate ul,.websockethub_chatroom_cleanslate var,.websockethub_chatroom_cleanslate video{background-attachment:scroll;background-color:transparent;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#000;border-color:currentColor;border-radius:0;border-style:none;border-width:medium;bottom:auto;clear:none;clip:auto;color:inherit;counter-increment:none;counter-reset:none;cursor:auto;direction:inherit;display:inline;float:none;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:normal;font-weight:inherit;height:auto;left:auto;letter-spacing:normal;line-height:inherit;list-style-type:inherit;list-style-position:outside;list-style-image:none;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;outline:invert none medium;overflow:visible;padding:0;position:static;quotes:"" "";right:auto;table-layout:auto;text-align:inherit;text-decoration:inherit;text-indent:0;text-transform:none;top:auto;unicode-bidi:normal;vertical-align:baseline;visibility:inherit;white-space:normal;width:auto;word-spacing:normal;z-index:auto;-moz-border-radius:0;-webkit-border-radius:0;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;text-shadow:none}.websockethub_chatroom_cleanslate,.websockethub_chatroom_cleanslate address,.websockethub_chatroom_cleanslate article,.websockethub_chatroom_cleanslate aside,.websockethub_chatroom_cleanslate blockquote,.websockethub_chatroom_cleanslate caption,.websockethub_chatroom_cleanslate dd,.websockethub_chatroom_cleanslate dialog,.websockethub_chatroom_cleanslate div,.websockethub_chatroom_cleanslate dl,.websockethub_chatroom_cleanslate dt,.websockethub_chatroom_cleanslate fieldset,.websockethub_chatroom_cleanslate figure,.websockethub_chatroom_cleanslate footer,.websockethub_chatroom_cleanslate form,.websockethub_chatroom_cleanslate h1,.websockethub_chatroom_cleanslate h2,.websockethub_chatroom_cleanslate h3,.websockethub_chatroom_cleanslate h4,.websockethub_chatroom_cleanslate h5,.websockethub_chatroom_cleanslate h6,.websockethub_chatroom_cleanslate header,.websockethub_chatroom_cleanslate hgroup,.websockethub_chatroom_cleanslate hr,.websockethub_chatroom_cleanslate menu,.websockethub_chatroom_cleanslate nav,.websockethub_chatroom_cleanslate ol,.websockethub_chatroom_cleanslate option,.websockethub_chatroom_cleanslate p,.websockethub_chatroom_cleanslate pre,.websockethub_chatroom_cleanslate section,.websockethub_chatroom_cleanslate select,.websockethub_chatroom_cleanslate textarea,.websockethub_chatroom_cleanslate ul{display:block}.websockethub_chatroom_cleanslate table{display:table}.websockethub_chatroom_cleanslate thead{display:table-header-group}.websockethub_chatroom_cleanslate tbody{display:table-row-group}.websockethub_chatroom_cleanslate tfoot{display:table-footer-group}.websockethub_chatroom_cleanslate tr{display:table-row}.websockethub_chatroom_cleanslate td,.websockethub_chatroom_cleanslate th{display:table-cell}.websockethub_chatroom_cleanslate nav ol,.websockethub_chatroom_cleanslate nav ul{list-style-type:none}.websockethub_chatroom_cleanslate menu,.websockethub_chatroom_cleanslate ul{list-style-type:disc}.websockethub_chatroom_cleanslate ol{list-style-type:decimal}.websockethub_chatroom_cleanslate menu menu,.websockethub_chatroom_cleanslate menu ul,.websockethub_chatroom_cleanslate ol menu,.websockethub_chatroom_cleanslate ol ul,.websockethub_chatroom_cleanslate ul menu,.websockethub_chatroom_cleanslate ul ul{list-style-type:circle}.websockethub_chatroom_cleanslate menu menu menu,.websockethub_chatroom_cleanslate menu menu ul,.websockethub_chatroom_cleanslate menu ol menu,.websockethub_chatroom_cleanslate menu ol ul,.websockethub_chatroom_cleanslate menu ul menu,.websockethub_chatroom_cleanslate menu ul ul,.websockethub_chatroom_cleanslate ol menu menu,.websockethub_chatroom_cleanslate ol menu ul,.websockethub_chatroom_cleanslate ol ol menu,.websockethub_chatroom_cleanslate ol ol ul,.websockethub_chatroom_cleanslate ol ul menu,.websockethub_chatroom_cleanslate ol ul ul,.websockethub_chatroom_cleanslate ul menu menu,.websockethub_chatroom_cleanslate ul menu ul,.websockethub_chatroom_cleanslate ul ol menu,.websockethub_chatroom_cleanslate ul ol ul,.websockethub_chatroom_cleanslate ul ul menu,.websockethub_chatroom_cleanslate ul ul ul{list-style-type:square}.websockethub_chatroom_cleanslate li{display:list-item;min-height:auto;min-width:auto}.websockethub_chatroom_cleanslate strong{font-weight:700}.websockethub_chatroom_cleanslate em{font-style:italic}.websockethub_chatroom_cleanslate code,.websockethub_chatroom_cleanslate kbd,.websockethub_chatroom_cleanslate samp{font-family:monospace}.websockethub_chatroom_cleanslate a,.websockethub_chatroom_cleanslate a *,.websockethub_chatroom_cleanslate input[type=checkbox],.websockethub_chatroom_cleanslate input[type=radio],.websockethub_chatroom_cleanslate input[type=submit],.websockethub_chatroom_cleanslate select{cursor:pointer}.websockethub_chatroom_cleanslate a:hover{text-decoration:underline}.websockethub_chatroom_cleanslate button,.websockethub_chatroom_cleanslate input[type=submit]{text-align:center}.websockethub_chatroom_cleanslate input[type=hidden]{display:none}.websockethub_chatroom_cleanslate abbr[title],.websockethub_chatroom_cleanslate acronym[title],.websockethub_chatroom_cleanslate dfn[title]{cursor:help;border-bottom-width:1px;border-bottom-style:dotted}.websockethub_chatroom_cleanslate ins{background-color:#ff9;color:#000}.websockethub_chatroom_cleanslate del{text-decoration:line-through}.websockethub_chatroom_cleanslate blockquote,.websockethub_chatroom_cleanslate q{quotes:none}.websockethub_chatroom_cleanslate blockquote:after,.websockethub_chatroom_cleanslate blockquote:before,.websockethub_chatroom_cleanslate li:after,.websockethub_chatroom_cleanslate li:before,.websockethub_chatroom_cleanslate q:after,.websockethub_chatroom_cleanslate q:before{content:""}.websockethub_chatroom_cleanslate input,.websockethub_chatroom_cleanslate select{vertical-align:middle}.websockethub_chatroom_cleanslate input,.websockethub_chatroom_cleanslate select,.websockethub_chatroom_cleanslate textarea{border:1px solid #ccc}.websockethub_chatroom_cleanslate table{border-collapse:collapse;border-spacing:0}.websockethub_chatroom_cleanslate hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}.websockethub_chatroom_cleanslate [dir=rtl]{direction:rtl}.websockethub_chatroom_cleanslate mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}.websockethub_chatroom_cleanslate{font-size:medium;line-height:1;direction:ltr;text-align:left;font-family:"Times New Roman",Times,serif;color:#000;font-style:normal;font-weight:400;text-decoration:none;list-style-type:disc}';
// Everything prefixed with container ID for consistency (and to ensure
// overriding cleanslate.css), all attribute names and inner IDs
// prefixed with websockethub_chatroom_ to prevent styles from affecting
// host pages
// ... sigh,