]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
Card suit font height is closer to text height
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / bip39-standalone.html
CommitLineData
ebd8d4e8
IC
1<!DOCTYPE html>
2<html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
ab78acc6 6 <style>/*!
ebd8d4e8
IC
7 * Bootstrap v3.2.0 (http://getbootstrap.com)
8 * Copyright 2011-2014 Twitter, Inc.
9 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
10 *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);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')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.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{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.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{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{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);background-image:-o-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);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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{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);background-image:-o-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);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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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);background-image:-o-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);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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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);background-image:-o-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);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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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);background-image:-o-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);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)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}</style>
11 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
12 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
13 <meta content="bitcoin mnemonic converter" name="description" />
b630f83d 14 <meta content="Ian Coleman" name="author" />
3af2954a 15
ab78acc6
IC
16 <style>
17 body {
18 padding-bottom: 32px;
19 }
20 .form-control[readonly] {
21 cursor: text;
22 }
23 .feedback-container {
24 position: fixed;
25 top: 0;
26 width: 100%;
27 text-align: center;
28 z-index: 4;
29 }
30 .feedback {
31 display: table;
32 padding: 0.5em 1em;
33 background-color: orange;
34 margin: 0 auto;
35 font-size: 2em;
36 color: #444;
37 border: 2px solid #555;
38 border-top: 0;
39 border-bottom-left-radius: 20px 20px;
40 border-bottom-right-radius: 20px 20px;
41 }
d5dc92fd
IC
42 .no-border {
43 border: 0;
44 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
45 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
46 }
0515eeec
IC
47 .phrase {
48 word-break: keep-all;
49 }
b0818b31
IC
50 .strength {
51 /* override mobile width from bootstrap */
52 width: auto!important;
53 display: inline-block;
54 }
0515eeec
IC
55 .languages * {
56 padding-left: 10px;
57 }
d737abf6
IC
58 .monospace {
59 font-family: monospace;
60 }
ab78acc6
IC
61 </style>
62 </head>
63 <body>
64 <div class="container">
3af2954a 65
ab78acc6
IC
66 <h1 class="text-center">Mnemonic Code Converter</h1>
67 <hr>
68 <div class="row">
69 <div class="col-md-12">
70 <h2>Mnemonic</h2>
71 <form class="form-horizontal" role="form">
ab78acc6 72 <div class="form-group">
c6624d51
IC
73 <div class="col-sm-2"></div>
74 <div class="col-sm-10">
75 <p>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum)</p>
76 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a></p>
77 </div>
78 </div>
79 <div class="form-group generate-container">
b0818b31 80 <label class="col-sm-2 control-label"></label>
ab78acc6 81 <div class="col-sm-10">
b0818b31
IC
82 <div class="form-inline">
83 <div class="input-group-inline">
84 <button class="btn generate">Generate</button>
85 <span>a random</span>
86 <select id="strength" class="strength form-control">
87 <option value="3">3</option>
88 <option value="6">6</option>
89 <option value="9">9</option>
90 <option value="12">12</option>
91 <option value="15" selected>15</option>
92 <option value="18">18</option>
93 <option value="21">21</option>
94 <option value="24">24</option>
95 </select>
96 word mnemonic, or enter your own below.
97 </div>
98 </div>
ab78acc6 99 </div>
0515eeec 100 </div>
c6624d51 101 <div class="entropy-container hidden">
18abe53b
IC
102 <div class="form-group">
103 <label for="entropy" class="col-sm-2 control-label">Entropy</label>
104 <div class="col-sm-6">
105 <textarea id="entropy" rows="6" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards"></textarea>
106 <span class="help-block">
107 <div class="text-danger">
108 This is an advanced feature.
109 Your mnemonic may be insecure if this feature is used incorrectly.
110 <a href="#entropy-notes">Read more</a>
111 </div>
112 </span>
113 </div>
114 <div class="pull-right col-sm-4">
115 <p>Valid entropy values include:</p>
116 <ul>
117 <li>Binary: [0-1] eg 101010011</li>
118 <li>Base 6: [0-5] eg 123434014</li>
119 <li>Dice: [1-6] eg 62535634</li>
120 <li>Base 10: [0-9] eg 90834528</li>
121 <li>Hex: [0-9A-F] eg 4187a8bfd9</li>
122 <li>Card: [A2-9TJQK][CDHS] eg AHQS9DTC</li>
123 </ul>
124 </div>
125 </div>
126 <div class="entropy-feedback">
127 <div class="form-group">
128 <label class="col-sm-2 control-label">Filtered</label>
129 <div class="filtered col-sm-10 form-control-static"></div>
130 </div>
131 <div class="form-group">
132 <label class="col-sm-2 control-label">Type</label>
133 <div class="type col-sm-10 form-control-static"></div>
134 </div>
135 <div class="form-group">
136 <label class="col-sm-2 control-label">Strength</label>
137 <div class="strength col-sm-10 form-control-static"></div>
138 </div>
139 <div class="form-group">
140 <label class="col-sm-2 control-label">Event Count</label>
141 <div class="event-count col-sm-10 form-control-static"></div>
142 </div>
143 <div class="form-group">
144 <label class="col-sm-2 control-label">Bits Per Event</label>
145 <div class="bits-per-event col-sm-10 form-control-static"></div>
146 </div>
147 <div class="form-group">
148 <label class="col-sm-2 control-label">Bits</label>
149 <div class="bits col-sm-10 form-control-static"></div>
150 </div>
151 <div class="form-group">
152 <label class="col-sm-2 control-label">Mnemonic Length</label>
153 <div class="col-sm-10">
154 <select class="mnemonic-length form-control">
155 <option value="raw">From entropy length (3 words per 32 bits)</option>
156 <option value="12">12 Words</option>
157 <option value="15">15 Words</option>
158 <option value="18">18 Words</option>
159 <option value="21">21 Words</option>
160 <option value="24">24 Words</option>
161 </select>
c6624d51 162 </div>
18abe53b 163 </div>
c6624d51
IC
164 </div>
165 </div>
166 <div class="form-group">
167 <div class="col-sm-2"></div>
168 <div class="col-sm-10 checkbox">
169 <label>
170 <input type="checkbox" class="use-entropy">
171 Supply my own source of entropy
172 </label>
173 </div>
174 </div>
175 <div class="form-group">
0515eeec
IC
176 <label class="col-sm-2 control-label"></label>
177 <div class="col-sm-10 languages">
178 <a href="#english">English</a>
179 <a href="#japanese" title="Japanese">日本語</a>
0515eeec
IC
180 <a href="#spanish" title="Spanish">Español</a>
181 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
182 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
183 <a href="#french" title="French">Français</a>
184 <a href="#italian" title="Italian">Italiano</a>
185 </div>
ab78acc6
IC
186 </div>
187 <div class="form-group">
b0818b31 188 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
ab78acc6 189 <div class="col-sm-10">
b0818b31 190 <textarea id="phrase" class="phrase form-control"></textarea>
ab78acc6
IC
191 </div>
192 </div>
193 <div class="form-group">
194 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
195 <div class="col-sm-10">
196 <textarea id="passphrase" class="passphrase form-control"></textarea>
197 </div>
198 </div>
73161a92
IC
199 <div class="form-group">
200 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
201 <div class="col-sm-10">
202 <textarea id="seed" class="seed form-control" readonly="readonly"></textarea>
203 </div>
204 </div>
ab78acc6
IC
205 <div class="form-group">
206 <label for="network-phrase" class="col-sm-2 control-label">Coin</label>
207 <div class="col-sm-10">
208 <select id="network-phrase" class="network form-control">
209 <!-- populated by javascript -->
210 </select>
211 </div>
212 </div>
213 <div class="form-group">
214 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
215 <div class="col-sm-10">
efe41586 216 <textarea id="root-key" class="root-key form-control"></textarea>
ab78acc6
IC
217 </div>
218 </div>
219 </form>
220 </div>
221 </div>
3af2954a 222
ab78acc6 223 <hr>
3af2954a 224
ab78acc6
IC
225 <div class="row">
226 <div class="col-md-12">
227 <h2>Derivation Path</h2>
228 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 229 <li id="bip44-tab" class="active">
ab78acc6
IC
230 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
231 </li>
232 <li id="bip32-tab">
233 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
234 </li>
235 </ul>
236 <div class="derivation-type tab-content">
d5dc92fd 237 <div id="bip44" class="tab-pane active">
ab78acc6
IC
238 <form class="form-horizontal" role="form">
239 <br>
240 <div class="col-sm-2"></div>
241 <div class="col-sm-10">
242 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a></p>
243 </div>
244 <div class="form-group">
245 <label for="purpose" class="col-sm-2 control-label">
246 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
247 </label>
248 <div class="col-sm-10">
249 <input id="purpose" type="text" class="purpose form-control" value="44">
250 </div>
251 </div>
252 <div class="form-group">
253 <label for="coin" class="col-sm-2 control-label">
254 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
255 </label>
256 <div class="col-sm-10">
257 <input id="coin" type="text" class="coin form-control" value="0">
258 </div>
259 </div>
260 <div class="form-group">
261 <label for="account" class="col-sm-2 control-label">
262 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
263 </label>
264 <div class="col-sm-10">
265 <input id="account" type="text" class="account form-control" value="0">
266 </div>
267 </div>
268 <div class="form-group">
269 <label for="change" class="col-sm-2 control-label">
270 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
271 </label>
272 <div class="col-sm-10">
273 <input id="change" type="text" class="change form-control" value="0">
274 </div>
275 </div>
276 <div class="form-group">
277 <label for="bip44-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
278 <div class="col-sm-10">
279 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
280 </div>
281 </div>
282 </form>
283 </div>
284 <div id="bip32" class="tab-pane">
285 <form class="form-horizontal" role="form">
286 <br>
287 <div class="col-sm-2"></div>
288 <div class="col-sm-10">
289 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a></p>
290 </div>
291 <div class="form-group">
292 <label for="bip32-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
293 <div class="col-sm-10">
294 <input id="bip32-path" type="text" class="path form-control" value="m/0">
295 </div>
296 </div>
1975bfbc
IC
297 <div class="form-group">
298 <div class="col-sm-2"></div>
299 <label class="col-sm-10">
300 <input class="hardened-addresses" type="checkbox">
301 Use hardened addresses
302 </label>
303 </div>
d5dc92fd
IC
304 <div class="form-group">
305 <label class="col-sm-2 control-label">Hive Wallet</label>
306 <div class="col-sm-10">
307 <p class="form-control no-border">
308 Use path <code>m/0'/0</code>.
309 For more info see the <a href="https://www.hivewallet.com/" target="_blank">Hive Wallet homepage</a>
310 </p>
311 </div>
312 </div>
313 <div class="form-group">
314 <label for="mycelium-path" class="col-sm-2 control-label">Mycelium Wallet</label>
315 <div class="col-sm-10">
316 <p class="form-control no-border">
317 Use path <code>m/44'/0'/0'/0</code>.
318 For more info see the <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
319 </p>
320 </div>
321 </div>
1975bfbc
IC
322 <div class="form-group">
323 <label for="core-path" class="col-sm-2 control-label">Bitcoin Core</label>
324 <div class="col-sm-10">
325 <p class="form-control no-border">
326 Use path <code>m/0'/0'</code> with hardened addresses.
327 For more info see the <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
328 </p>
329 </div>
330 </div>
aa51da11
IC
331 <div class="form-group">
332 <label class="col-sm-2 control-label">Block Explorers</label>
333 <div class="col-sm-10">
334 <p class="form-control no-border">
335 Use path <code>m/44'/0'/0'</code>.
336 Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xpriv</code> key.
337 </p>
338 </div>
339 </div>
ab78acc6
IC
340 </form>
341 </div>
342 </div>
343 <form class="form-horizontal" role="form">
344 <div class="form-group">
345 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Key</label>
346 <div class="col-sm-10">
347 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea>
348 </div>
349 </div>
350 <div class="form-group">
351 <label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Key (addresses only)</label>
352 <div class="col-sm-10">
353 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea>
354 </div>
355 </div>
356 </form>
357 </div>
358 </div>
3af2954a 359
ab78acc6 360 <hr>
3af2954a 361
ab78acc6
IC
362 <div class="row">
363 <div class="col-md-12">
364 <h2>Derived Addresses</h2>
365 <p>Note these addreses are derived from the <strong>BIP32 Extended Key</strong></p>
366 <table class="table table-striped">
367 <thead>
368 <th>
369 <div class="input-group">
ae30fed8 370 Path&nbsp;&nbsp;
ab78acc6
IC
371 <button class="index-toggle">Toggle</button>
372 </div>
373 </th>
374 <th>
375 <div class="input-group">
376 Address&nbsp;&nbsp;
377 <button class="address-toggle">Toggle</button>
378 </div>
379 </th>
1b12b2f5
IC
380 <th>
381 <div class="input-group">
382 Public Key&nbsp;&nbsp;
383 <button class="public-key-toggle">Toggle</button>
384 </div>
385 </th>
ab78acc6
IC
386 <th>
387 <div class="input-group">
388 Private Key&nbsp;&nbsp;
389 <button class="private-key-toggle">Toggle</button>
390 </div>
391 </th>
392 </thead>
d737abf6 393 <tbody class="addresses monospace">
ab78acc6
IC
394 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
395 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
396 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
397 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
398 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
399 </tbody>
400 </table>
401 </div>
402 </div>
403 <span>Show next </button>
404 <input type="number" class="rows-to-add" value="20">
405 <button class="more">Show</button>
3af2954a 406
ab78acc6 407 <hr>
3af2954a 408
ab78acc6
IC
409 <div class="row">
410 <div class="col-md-12">
411 <h2>More info</h2>
412 <h3>BIP39 <span class="small">Mnemonic code for generating deterministic keys</span></h3>
413 <p>
414 Read more at the
415 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
416 </p>
417 <h3>BIP32 <span class="small">Hierarchical Deterministic Wallets</span></h3>
418 <p>
419 Read more at the
420 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
421 and see the demo at
422 <a href="http://bip32.org/" target="_blank">bip32.org</a>
423 </p>
424 <h3>BIP44 <span class="small">Multi-Account Hierarchy for Deterministic Wallets</span></h3>
425 <p>
426 Read more at the
427 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
428 </p>
429 <h3>Private Keys</h3>
430 <p>
431 Use private keys at
432 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>,
433 but be careful - it can be easy to make mistakes if you
434 don't know what you're doing
435 </p>
c6624d51
IC
436 <h3 id="entropy-notes">Entropy</h3>
437 <p>
438 Entropy values must be sourced from a
439 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
440 This means flipping a fair coin, rolling a fair dice, noise measurements etc. Do <strong>NOT</strong> use
441 phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i>
442 is random, because chances are <em>overwhelming</em> that it isn't random enough for the needs of this tool.
443 </p>
444 <p>
445 The random mnemonic generator on this page uses a
446 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>,
447 and can generally be trusted more than your own intuition about randomness.
448 If cryptographic randomness isn't available in your browser, this page will show a warning and <i>will not generate
449 random mnemonics</i>.
450 </p>
451 <p>
452 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank">You are not a good source of entropy.</a>
453 </p>
ab78acc6
IC
454 </div>
455 </div>
3af2954a 456
ab78acc6 457 <hr>
3af2954a 458
ab78acc6
IC
459 <div class="row">
460 <div class="col-md-12">
3af2954a 461
ab78acc6 462 <h2>Offline Usage</h2>
3af2954a 463
ab78acc6
IC
464 <p>
465 You can use this tool without having to be online.
466 </p>
467 <p>
468 In your browser, select file save-as, and save this page
469 as a file.
470 </p>
471 <p>
472 Double-click that file to open it in a browser
473 on any offline computer.
474 </p>
475 <p>
476 Alternatively, download it from
b630f83d
IC
477 <a href="https://github.com/iancoleman/bip39">
478 https://github.com/iancoleman/bip39
ab78acc6 479 </a>
3af2954a 480
ab78acc6
IC
481 </div>
482 </div>
3af2954a 483
ab78acc6 484 <hr>
3af2954a 485
ab78acc6
IC
486 <div class="row">
487 <div class="col-md-12">
3af2954a 488
ab78acc6 489 <h2>This project is 100% open-source code</h2>
3af2954a 490
ab78acc6
IC
491 <p>
492 <span>Get the source code at - </span>
b630f83d
IC
493 <a href="https://github.com/iancoleman/bip39" target="_blank">
494 https://github.com/iancoleman/bip39
ab78acc6
IC
495 </a>
496 </p>
3af2954a 497
ab78acc6 498 <h3>Libraries</h3>
3af2954a 499
ab78acc6
IC
500 <p>
501 <span>BitcoinJS - </span>
502 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
503 https://github.com/bitcoinjs/bitcoinjs-lib
504 </a>
505 </p>
3af2954a 506
ab78acc6
IC
507 <p>
508 <span>jsBIP39 - </span>
509 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
510 https://github.com/iancoleman/jsbip39
511 </a>
512 </p>
3af2954a 513
ab78acc6
IC
514 <p>
515 <span>sjcl - </span>
516 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
517 https://github.com/bitwiseshiftleft/sjcl
518 </a>
519 </p>
3af2954a 520
ab78acc6
IC
521 <p>
522 <span>jQuery - </span>
523 <a href="https://jquery.com/" target="_blank">
524 https://jquery.com/
525 </a>
526 </p>
3af2954a 527
ab78acc6
IC
528 <p>
529 <span>Twitter Bootstrap - </span>
530 <a href="http://getbootstrap.com/" target="_blank">
531 http://getbootstrap.com/
532 </a>
533 </p>
3af2954a 534
ab78acc6
IC
535 </div>
536 </div>
3af2954a 537
ab78acc6 538 </div>
3af2954a 539
ab78acc6
IC
540 <div class="feedback-container">
541 <div class="feedback">Loading...</div>
542 </div>
3af2954a 543
ab78acc6
IC
544 <script type="text/template" id="address-row-template">
545 <tr>
546 <td class="index"><span></span></td>
547 <td class="address"><span></span></td>
1b12b2f5 548 <td class="pubkey"><span></span></td>
ab78acc6
IC
549 <td class="privkey"><span></span></td>
550 </tr>
551 </script>
552 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
553!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
554},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
555},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
556</script>
557 <script>/*!
558 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
559 * Copyright 2011-2014 Twitter, Inc.
560 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
561 */
562if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script>
563e401a
IC
563 <script>(function() {
564 'use strict';
565
566 /**
567 * Extend an Object with another Object's properties.
568 *
569 * The source objects are specified as additional arguments.
570 *
571 * @param dst Object the object to extend.
572 *
573 * @return Object the final object.
574 */
575 var _extend = function(dst) {
576 var sources = Array.prototype.slice.call(arguments, 1);
577 for (var i=0; i<sources.length; ++i) {
578 var src = sources[i];
579 for (var p in src) {
580 if (src.hasOwnProperty(p)) dst[p] = src[p];
581 }
582 }
583 return dst;
584 };
585
586
587 /**
588 * Defer execution of given function.
589 * @param {Function} func
590 */
591 var _defer = function(func) {
592 if (typeof setImmediate === 'function') {
593 return setImmediate(func);
594 } else {
595 return setTimeout(func, 0);
596 }
597 };
598
599 /**
600 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
601 */
602 var Levenshtein = {
603 /**
604 * Calculate levenshtein distance of the two strings.
605 *
606 * @param str1 String the first string.
607 * @param str2 String the second string.
608 * @return Integer the levenshtein distance (0 and above).
609 */
610 get: function(str1, str2) {
611 // base cases
612 if (str1 === str2) return 0;
613 if (str1.length === 0) return str2.length;
614 if (str2.length === 0) return str1.length;
615
616 // two rows
617 var prevRow = new Array(str2.length + 1),
618 curCol, nextCol, i, j, tmp;
619
620 // initialise previous row
621 for (i=0; i<prevRow.length; ++i) {
622 prevRow[i] = i;
623 }
624
625 // calculate current row distance from previous row
626 for (i=0; i<str1.length; ++i) {
627 nextCol = i + 1;
628
629 for (j=0; j<str2.length; ++j) {
630 curCol = nextCol;
631
632 // substution
633 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
634 // insertion
635 tmp = curCol + 1;
636 if (nextCol > tmp) {
637 nextCol = tmp;
638 }
639 // deletion
640 tmp = prevRow[j + 1] + 1;
641 if (nextCol > tmp) {
642 nextCol = tmp;
643 }
644
645 // copy current col value into previous (in preparation for next iteration)
646 prevRow[j] = curCol;
647 }
648
649 // copy last col value into previous (in preparation for next iteration)
650 prevRow[j] = nextCol;
651 }
652
653 return nextCol;
654 },
655
656 /**
657 * Asynchronously calculate levenshtein distance of the two strings.
658 *
659 * @param str1 String the first string.
660 * @param str2 String the second string.
661 * @param cb Function callback function with signature: function(Error err, int distance)
662 * @param [options] Object additional options.
663 * @param [options.progress] Function progress callback with signature: function(percentComplete)
664 */
665 getAsync: function(str1, str2, cb, options) {
666 options = _extend({}, {
667 progress: null
668 }, options);
669
670 // base cases
671 if (str1 === str2) return cb(null, 0);
672 if (str1.length === 0) return cb(null, str2.length);
673 if (str2.length === 0) return cb(null, str1.length);
674
675 // two rows
676 var prevRow = new Array(str2.length + 1),
677 curCol, nextCol,
678 i, j, tmp,
679 startTime, currentTime;
680
681 // initialise previous row
682 for (i=0; i<prevRow.length; ++i) {
683 prevRow[i] = i;
684 }
685
686 nextCol = 1;
687 i = 0;
688 j = -1;
689
690 var __calculate = function() {
691 // reset timer
692 startTime = new Date().valueOf();
693 currentTime = startTime;
694
695 // keep going until one second has elapsed
696 while (currentTime - startTime < 1000) {
697 // reached end of current row?
698 if (str2.length <= (++j)) {
699 // copy current into previous (in preparation for next iteration)
700 prevRow[j] = nextCol;
701
702 // if already done all chars
703 if (str1.length <= (++i)) {
704 return cb(null, nextCol);
705 }
706 // else if we have more left to do
707 else {
708 nextCol = i + 1;
709 j = 0;
710 }
711 }
712
713 // calculation
714 curCol = nextCol;
715
716 // substution
717 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
718 // insertion
719 tmp = curCol + 1;
720 if (nextCol > tmp) {
721 nextCol = tmp;
722 }
723 // deletion
724 tmp = prevRow[j + 1] + 1;
725 if (nextCol > tmp) {
726 nextCol = tmp;
727 }
728
729 // copy current into previous (in preparation for next iteration)
730 prevRow[j] = curCol;
731
732 // get current time
733 currentTime = new Date().valueOf();
734 }
735
736 // send a progress update?
737 if (null !== options.progress) {
738 try {
739 options.progress.call(null, (i * 100.0/ str1.length));
740 } catch (err) {
741 return cb('Progress callback: ' + err.toString());
742 }
743 }
744
745 // next iteration
746 _defer(__calculate);
747 };
748
749 __calculate();
750 }
751
752 };
753
754 // amd
755 if (typeof define !== "undefined" && define !== null && define.amd) {
756 define(function() {
757 return Levenshtein;
758 });
759 }
760 // commonjs
761 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
762 module.exports = Levenshtein;
763 }
764 // web worker
765 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
766 self.Levenshtein = Levenshtein;
767 }
768 // browser main thread
769 else if (typeof window !== "undefined" && window !== null) {
770 window.Levenshtein = Levenshtein;
771 }
772}());
773
774</script>
ab78acc6
IC
775 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.bitcoin = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
776// (public) Constructor
777function BigInteger(a, b, c) {
778 if (!(this instanceof BigInteger))
779 return new BigInteger(a, b, c)
3af2954a 780
ab78acc6
IC
781 if (a != null) {
782 if ("number" == typeof a) this.fromNumber(a, b, c)
783 else if (b == null && "string" != typeof a) this.fromString(a, 256)
784 else this.fromString(a, b)
785 }
786}
3af2954a 787
ab78acc6 788var proto = BigInteger.prototype
3af2954a 789
ab78acc6
IC
790// duck-typed isBigInteger
791proto.__bigi = require('../package.json').version
792BigInteger.isBigInteger = function (obj, check_ver) {
793 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
794}
3af2954a 795
ab78acc6
IC
796// Bits per digit
797var dbits
3af2954a 798
ab78acc6
IC
799// am: Compute w_j += (x*this_i), propagate carries,
800// c is initial carry, returns final carry.
801// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
802// We need to select the fastest one that works in this environment.
3af2954a 803
ab78acc6
IC
804// am1: use a single mult and divide to get the high bits,
805// max digit bits should be 26 because
806// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
807function am1(i, x, w, j, c, n) {
808 while (--n >= 0) {
809 var v = x * this[i++] + w[j] + c
810 c = Math.floor(v / 0x4000000)
811 w[j++] = v & 0x3ffffff
3af2954a 812 }
ab78acc6
IC
813 return c
814}
815// am2 avoids a big mult-and-extract completely.
816// Max digit bits should be <= 30 because we do bitwise ops
817// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
818function am2(i, x, w, j, c, n) {
819 var xl = x & 0x7fff,
820 xh = x >> 15
821 while (--n >= 0) {
822 var l = this[i] & 0x7fff
823 var h = this[i++] >> 15
824 var m = xh * l + h * xl
825 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
826 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
827 w[j++] = l & 0x3fffffff
828 }
829 return c
830}
831// Alternately, set max digit bits to 28 since some
832// browsers slow down when dealing with 32-bit numbers.
833function am3(i, x, w, j, c, n) {
834 var xl = x & 0x3fff,
835 xh = x >> 14
836 while (--n >= 0) {
837 var l = this[i] & 0x3fff
838 var h = this[i++] >> 14
839 var m = xh * l + h * xl
840 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
841 c = (l >> 28) + (m >> 14) + xh * h
842 w[j++] = l & 0xfffffff
3af2954a 843 }
ab78acc6
IC
844 return c
845}
3af2954a 846
ab78acc6
IC
847// wtf?
848BigInteger.prototype.am = am1
849dbits = 26
3af2954a 850
ab78acc6
IC
851BigInteger.prototype.DB = dbits
852BigInteger.prototype.DM = ((1 << dbits) - 1)
853var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 854
ab78acc6
IC
855var BI_FP = 52
856BigInteger.prototype.FV = Math.pow(2, BI_FP)
857BigInteger.prototype.F1 = BI_FP - dbits
858BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 859
ab78acc6
IC
860// Digit conversions
861var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
862var BI_RC = new Array()
863var rr, vv
864rr = "0".charCodeAt(0)
865for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
866rr = "a".charCodeAt(0)
867for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
868rr = "A".charCodeAt(0)
869for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 870
ab78acc6
IC
871function int2char(n) {
872 return BI_RM.charAt(n)
873}
3af2954a 874
ab78acc6
IC
875function intAt(s, i) {
876 var c = BI_RC[s.charCodeAt(i)]
877 return (c == null) ? -1 : c
878}
3af2954a 879
ab78acc6
IC
880// (protected) copy this to r
881function bnpCopyTo(r) {
882 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
883 r.t = this.t
884 r.s = this.s
885}
3af2954a 886
ab78acc6
IC
887// (protected) set from integer value x, -DV <= x < DV
888function bnpFromInt(x) {
889 this.t = 1
890 this.s = (x < 0) ? -1 : 0
891 if (x > 0) this[0] = x
892 else if (x < -1) this[0] = x + DV
893 else this.t = 0
894}
3af2954a 895
ab78acc6
IC
896// return bigint initialized to value
897function nbv(i) {
898 var r = new BigInteger()
899 r.fromInt(i)
900 return r
901}
3af2954a 902
ab78acc6
IC
903// (protected) set from string and radix
904function bnpFromString(s, b) {
905 var self = this
3af2954a 906
ab78acc6
IC
907 var k
908 if (b == 16) k = 4
909 else if (b == 8) k = 3
910 else if (b == 256) k = 8; // byte array
911 else if (b == 2) k = 1
912 else if (b == 32) k = 5
913 else if (b == 4) k = 2
914 else {
915 self.fromRadix(s, b)
916 return
917 }
918 self.t = 0
919 self.s = 0
920 var i = s.length,
921 mi = false,
922 sh = 0
923 while (--i >= 0) {
924 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
925 if (x < 0) {
926 if (s.charAt(i) == "-") mi = true
927 continue
928 }
929 mi = false
930 if (sh == 0)
931 self[self.t++] = x
932 else if (sh + k > self.DB) {
933 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
934 self[self.t++] = (x >> (self.DB - sh))
935 } else
936 self[self.t - 1] |= x << sh
937 sh += k
938 if (sh >= self.DB) sh -= self.DB
939 }
940 if (k == 8 && (s[0] & 0x80) != 0) {
941 self.s = -1
942 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
943 }
944 self.clamp()
945 if (mi) BigInteger.ZERO.subTo(self, self)
946}
3af2954a 947
ab78acc6
IC
948// (protected) clamp off excess high words
949function bnpClamp() {
950 var c = this.s & this.DM
951 while (this.t > 0 && this[this.t - 1] == c)--this.t
952}
3af2954a 953
ab78acc6
IC
954// (public) return string representation in given radix
955function bnToString(b) {
956 var self = this
957 if (self.s < 0) return "-" + self.negate()
958 .toString(b)
959 var k
960 if (b == 16) k = 4
961 else if (b == 8) k = 3
962 else if (b == 2) k = 1
963 else if (b == 32) k = 5
964 else if (b == 4) k = 2
965 else return self.toRadix(b)
966 var km = (1 << k) - 1,
967 d, m = false,
968 r = "",
969 i = self.t
970 var p = self.DB - (i * self.DB) % k
971 if (i-- > 0) {
972 if (p < self.DB && (d = self[i] >> p) > 0) {
973 m = true
974 r = int2char(d)
975 }
976 while (i >= 0) {
977 if (p < k) {
978 d = (self[i] & ((1 << p) - 1)) << (k - p)
979 d |= self[--i] >> (p += self.DB - k)
980 } else {
981 d = (self[i] >> (p -= k)) & km
982 if (p <= 0) {
983 p += self.DB
984 --i
985 }
986 }
987 if (d > 0) m = true
988 if (m) r += int2char(d)
3af2954a 989 }
3af2954a 990 }
ab78acc6
IC
991 return m ? r : "0"
992}
3af2954a 993
ab78acc6
IC
994// (public) -this
995function bnNegate() {
996 var r = new BigInteger()
997 BigInteger.ZERO.subTo(this, r)
998 return r
999}
3af2954a 1000
ab78acc6
IC
1001// (public) |this|
1002function bnAbs() {
1003 return (this.s < 0) ? this.negate() : this
1004}
3af2954a 1005
ab78acc6
IC
1006// (public) return + if this > a, - if this < a, 0 if equal
1007function bnCompareTo(a) {
1008 var r = this.s - a.s
1009 if (r != 0) return r
1010 var i = this.t
1011 r = i - a.t
1012 if (r != 0) return (this.s < 0) ? -r : r
1013 while (--i >= 0)
1014 if ((r = this[i] - a[i]) != 0) return r
1015 return 0
1016}
3af2954a 1017
ab78acc6
IC
1018// returns bit length of the integer x
1019function nbits(x) {
1020 var r = 1,
1021 t
1022 if ((t = x >>> 16) != 0) {
1023 x = t
1024 r += 16
1025 }
1026 if ((t = x >> 8) != 0) {
1027 x = t
1028 r += 8
1029 }
1030 if ((t = x >> 4) != 0) {
1031 x = t
1032 r += 4
1033 }
1034 if ((t = x >> 2) != 0) {
1035 x = t
1036 r += 2
3af2954a 1037 }
ab78acc6
IC
1038 if ((t = x >> 1) != 0) {
1039 x = t
1040 r += 1
1041 }
1042 return r
1043}
1044
1045// (public) return the number of bits in "this"
1046function bnBitLength() {
1047 if (this.t <= 0) return 0
1048 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1049}
3af2954a 1050
ab78acc6
IC
1051// (public) return the number of bytes in "this"
1052function bnByteLength() {
1053 return this.bitLength() >> 3
1054}
3af2954a 1055
ab78acc6
IC
1056// (protected) r = this << n*DB
1057function bnpDLShiftTo(n, r) {
1058 var i
1059 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1060 for (i = n - 1; i >= 0; --i) r[i] = 0
1061 r.t = this.t + n
1062 r.s = this.s
1063}
3af2954a 1064
ab78acc6
IC
1065// (protected) r = this >> n*DB
1066function bnpDRShiftTo(n, r) {
1067 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1068 r.t = Math.max(this.t - n, 0)
1069 r.s = this.s
1070}
3af2954a 1071
ab78acc6
IC
1072// (protected) r = this << n
1073function bnpLShiftTo(n, r) {
1074 var self = this
1075 var bs = n % self.DB
1076 var cbs = self.DB - bs
1077 var bm = (1 << cbs) - 1
1078 var ds = Math.floor(n / self.DB),
1079 c = (self.s << bs) & self.DM,
1080 i
1081 for (i = self.t - 1; i >= 0; --i) {
1082 r[i + ds + 1] = (self[i] >> cbs) | c
1083 c = (self[i] & bm) << bs
1084 }
1085 for (i = ds - 1; i >= 0; --i) r[i] = 0
1086 r[ds] = c
1087 r.t = self.t + ds + 1
1088 r.s = self.s
1089 r.clamp()
1090}
3af2954a 1091
ab78acc6
IC
1092// (protected) r = this >> n
1093function bnpRShiftTo(n, r) {
1094 var self = this
1095 r.s = self.s
1096 var ds = Math.floor(n / self.DB)
1097 if (ds >= self.t) {
1098 r.t = 0
1099 return
3af2954a 1100 }
ab78acc6
IC
1101 var bs = n % self.DB
1102 var cbs = self.DB - bs
1103 var bm = (1 << bs) - 1
1104 r[0] = self[ds] >> bs
1105 for (var i = ds + 1; i < self.t; ++i) {
1106 r[i - ds - 1] |= (self[i] & bm) << cbs
1107 r[i - ds] = self[i] >> bs
1108 }
1109 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1110 r.t = self.t - ds
1111 r.clamp()
1112}
3af2954a 1113
ab78acc6
IC
1114// (protected) r = this - a
1115function bnpSubTo(a, r) {
1116 var self = this
1117 var i = 0,
1118 c = 0,
1119 m = Math.min(a.t, self.t)
1120 while (i < m) {
1121 c += self[i] - a[i]
1122 r[i++] = c & self.DM
1123 c >>= self.DB
1124 }
1125 if (a.t < self.t) {
1126 c -= a.s
1127 while (i < self.t) {
1128 c += self[i]
1129 r[i++] = c & self.DM
1130 c >>= self.DB
1131 }
1132 c += self.s
1133 } else {
1134 c += self.s
1135 while (i < a.t) {
1136 c -= a[i]
1137 r[i++] = c & self.DM
1138 c >>= self.DB
1139 }
1140 c -= a.s
1141 }
1142 r.s = (c < 0) ? -1 : 0
1143 if (c < -1) r[i++] = self.DV + c
1144 else if (c > 0) r[i++] = c
1145 r.t = i
1146 r.clamp()
1147}
3af2954a 1148
ab78acc6
IC
1149// (protected) r = this * a, r != this,a (HAC 14.12)
1150// "this" should be the larger one if appropriate.
1151function bnpMultiplyTo(a, r) {
1152 var x = this.abs(),
1153 y = a.abs()
1154 var i = x.t
1155 r.t = i + y.t
1156 while (--i >= 0) r[i] = 0
1157 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1158 r.s = 0
1159 r.clamp()
1160 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1161}
3af2954a 1162
ab78acc6
IC
1163// (protected) r = this^2, r != this (HAC 14.16)
1164function bnpSquareTo(r) {
1165 var x = this.abs()
1166 var i = r.t = 2 * x.t
1167 while (--i >= 0) r[i] = 0
1168 for (i = 0; i < x.t - 1; ++i) {
1169 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1170 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1171 r[i + x.t] -= x.DV
1172 r[i + x.t + 1] = 1
1173 }
1174 }
1175 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1176 r.s = 0
1177 r.clamp()
1178}
3af2954a 1179
ab78acc6
IC
1180// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1181// r != q, this != m. q or r may be null.
1182function bnpDivRemTo(m, q, r) {
1183 var self = this
1184 var pm = m.abs()
1185 if (pm.t <= 0) return
1186 var pt = self.abs()
1187 if (pt.t < pm.t) {
1188 if (q != null) q.fromInt(0)
1189 if (r != null) self.copyTo(r)
1190 return
1191 }
1192 if (r == null) r = new BigInteger()
1193 var y = new BigInteger(),
1194 ts = self.s,
1195 ms = m.s
1196 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1197 if (nsh > 0) {
1198 pm.lShiftTo(nsh, y)
1199 pt.lShiftTo(nsh, r)
1200 } else {
1201 pm.copyTo(y)
1202 pt.copyTo(r)
1203 }
1204 var ys = y.t
1205 var y0 = y[ys - 1]
1206 if (y0 == 0) return
1207 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1208 var d1 = self.FV / yt,
1209 d2 = (1 << self.F1) / yt,
1210 e = 1 << self.F2
1211 var i = r.t,
1212 j = i - ys,
1213 t = (q == null) ? new BigInteger() : q
1214 y.dlShiftTo(j, t)
1215 if (r.compareTo(t) >= 0) {
1216 r[r.t++] = 1
1217 r.subTo(t, r)
1218 }
1219 BigInteger.ONE.dlShiftTo(ys, t)
1220 t.subTo(y, y); // "negative" y so we can replace sub with am later
1221 while (y.t < ys) y[y.t++] = 0
1222 while (--j >= 0) {
1223 // Estimate quotient digit
1224 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1225 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1226 y.dlShiftTo(j, t)
1227 r.subTo(t, r)
1228 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1229 }
ab78acc6
IC
1230 }
1231 if (q != null) {
1232 r.drShiftTo(ys, q)
1233 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1234 }
1235 r.t = ys
1236 r.clamp()
1237 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1238 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1239}
3af2954a 1240
ab78acc6
IC
1241// (public) this mod a
1242function bnMod(a) {
1243 var r = new BigInteger()
1244 this.abs()
1245 .divRemTo(a, null, r)
1246 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1247 return r
1248}
3af2954a 1249
ab78acc6
IC
1250// Modular reduction using "classic" algorithm
1251function Classic(m) {
1252 this.m = m
1253}
3af2954a 1254
ab78acc6
IC
1255function cConvert(x) {
1256 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1257 else return x
1258}
1259
1260function cRevert(x) {
1261 return x
1262}
3af2954a 1263
ab78acc6
IC
1264function cReduce(x) {
1265 x.divRemTo(this.m, null, x)
1266}
3af2954a 1267
ab78acc6
IC
1268function cMulTo(x, y, r) {
1269 x.multiplyTo(y, r)
1270 this.reduce(r)
1271}
3af2954a 1272
ab78acc6
IC
1273function cSqrTo(x, r) {
1274 x.squareTo(r)
1275 this.reduce(r)
1276}
3af2954a 1277
ab78acc6
IC
1278Classic.prototype.convert = cConvert
1279Classic.prototype.revert = cRevert
1280Classic.prototype.reduce = cReduce
1281Classic.prototype.mulTo = cMulTo
1282Classic.prototype.sqrTo = cSqrTo
3af2954a 1283
ab78acc6
IC
1284// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1285// justification:
1286// xy == 1 (mod m)
1287// xy = 1+km
1288// xy(2-xy) = (1+km)(1-km)
1289// x[y(2-xy)] = 1-k^2m^2
1290// x[y(2-xy)] == 1 (mod m^2)
1291// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1292// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1293// JS multiply "overflows" differently from C/C++, so care is needed here.
1294function bnpInvDigit() {
1295 if (this.t < 1) return 0
1296 var x = this[0]
1297 if ((x & 1) == 0) return 0
1298 var y = x & 3; // y == 1/x mod 2^2
1299 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1300 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1301 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1302 // last step - calculate inverse mod DV directly
1303 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1304 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1305 // we really want the negative inverse, and -DV < y < DV
1306 return (y > 0) ? this.DV - y : -y
1307}
3af2954a 1308
ab78acc6
IC
1309// Montgomery reduction
1310function Montgomery(m) {
1311 this.m = m
1312 this.mp = m.invDigit()
1313 this.mpl = this.mp & 0x7fff
1314 this.mph = this.mp >> 15
1315 this.um = (1 << (m.DB - 15)) - 1
1316 this.mt2 = 2 * m.t
1317}
3af2954a 1318
ab78acc6
IC
1319// xR mod m
1320function montConvert(x) {
1321 var r = new BigInteger()
1322 x.abs()
1323 .dlShiftTo(this.m.t, r)
1324 r.divRemTo(this.m, null, r)
1325 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1326 return r
1327}
3af2954a 1328
ab78acc6
IC
1329// x/R mod m
1330function montRevert(x) {
1331 var r = new BigInteger()
1332 x.copyTo(r)
1333 this.reduce(r)
1334 return r
1335}
3af2954a 1336
ab78acc6
IC
1337// x = x/R mod m (HAC 14.32)
1338function montReduce(x) {
1339 while (x.t <= this.mt2) // pad x so am has enough room later
1340 x[x.t++] = 0
1341 for (var i = 0; i < this.m.t; ++i) {
1342 // faster way of calculating u0 = x[i]*mp mod DV
1343 var j = x[i] & 0x7fff
1344 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1345 // use am to combine the multiply-shift-add into one call
1346 j = i + this.m.t
1347 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1348 // propagate carry
1349 while (x[j] >= x.DV) {
1350 x[j] -= x.DV
1351 x[++j]++
1352 }
1353 }
1354 x.clamp()
1355 x.drShiftTo(this.m.t, x)
1356 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1357}
3af2954a 1358
ab78acc6
IC
1359// r = "x^2/R mod m"; x != r
1360function montSqrTo(x, r) {
1361 x.squareTo(r)
1362 this.reduce(r)
1363}
3af2954a 1364
ab78acc6
IC
1365// r = "xy/R mod m"; x,y != r
1366function montMulTo(x, y, r) {
1367 x.multiplyTo(y, r)
1368 this.reduce(r)
1369}
3af2954a 1370
ab78acc6
IC
1371Montgomery.prototype.convert = montConvert
1372Montgomery.prototype.revert = montRevert
1373Montgomery.prototype.reduce = montReduce
1374Montgomery.prototype.mulTo = montMulTo
1375Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1376
ab78acc6
IC
1377// (protected) true iff this is even
1378function bnpIsEven() {
1379 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1380}
3af2954a 1381
ab78acc6
IC
1382// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1383function bnpExp(e, z) {
1384 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1385 var r = new BigInteger(),
1386 r2 = new BigInteger(),
1387 g = z.convert(this),
1388 i = nbits(e) - 1
1389 g.copyTo(r)
1390 while (--i >= 0) {
1391 z.sqrTo(r, r2)
1392 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1393 else {
1394 var t = r
1395 r = r2
1396 r2 = t
3af2954a 1397 }
3af2954a 1398 }
ab78acc6
IC
1399 return z.revert(r)
1400}
3af2954a 1401
ab78acc6
IC
1402// (public) this^e % m, 0 <= e < 2^32
1403function bnModPowInt(e, m) {
1404 var z
1405 if (e < 256 || m.isEven()) z = new Classic(m)
1406 else z = new Montgomery(m)
1407 return this.exp(e, z)
1408}
3af2954a 1409
ab78acc6
IC
1410// protected
1411proto.copyTo = bnpCopyTo
1412proto.fromInt = bnpFromInt
1413proto.fromString = bnpFromString
1414proto.clamp = bnpClamp
1415proto.dlShiftTo = bnpDLShiftTo
1416proto.drShiftTo = bnpDRShiftTo
1417proto.lShiftTo = bnpLShiftTo
1418proto.rShiftTo = bnpRShiftTo
1419proto.subTo = bnpSubTo
1420proto.multiplyTo = bnpMultiplyTo
1421proto.squareTo = bnpSquareTo
1422proto.divRemTo = bnpDivRemTo
1423proto.invDigit = bnpInvDigit
1424proto.isEven = bnpIsEven
1425proto.exp = bnpExp
3af2954a 1426
ab78acc6
IC
1427// public
1428proto.toString = bnToString
1429proto.negate = bnNegate
1430proto.abs = bnAbs
1431proto.compareTo = bnCompareTo
1432proto.bitLength = bnBitLength
1433proto.byteLength = bnByteLength
1434proto.mod = bnMod
1435proto.modPowInt = bnModPowInt
3af2954a 1436
ab78acc6
IC
1437// (public)
1438function bnClone() {
1439 var r = new BigInteger()
1440 this.copyTo(r)
1441 return r
1442}
3af2954a 1443
ab78acc6
IC
1444// (public) return value as integer
1445function bnIntValue() {
1446 if (this.s < 0) {
1447 if (this.t == 1) return this[0] - this.DV
1448 else if (this.t == 0) return -1
1449 } else if (this.t == 1) return this[0]
1450 else if (this.t == 0) return 0
1451 // assumes 16 < DB < 32
1452 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1453}
3af2954a 1454
ab78acc6
IC
1455// (public) return value as byte
1456function bnByteValue() {
1457 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1458}
3af2954a 1459
ab78acc6
IC
1460// (public) return value as short (assumes DB>=16)
1461function bnShortValue() {
1462 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1463}
3af2954a 1464
ab78acc6
IC
1465// (protected) return x s.t. r^x < DV
1466function bnpChunkSize(r) {
1467 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1468}
3af2954a 1469
ab78acc6
IC
1470// (public) 0 if this == 0, 1 if this > 0
1471function bnSigNum() {
1472 if (this.s < 0) return -1
1473 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1474 else return 1
1475}
3af2954a 1476
ab78acc6
IC
1477// (protected) convert to radix string
1478function bnpToRadix(b) {
1479 if (b == null) b = 10
1480 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1481 var cs = this.chunkSize(b)
1482 var a = Math.pow(b, cs)
1483 var d = nbv(a),
1484 y = new BigInteger(),
1485 z = new BigInteger(),
1486 r = ""
1487 this.divRemTo(d, y, z)
1488 while (y.signum() > 0) {
1489 r = (a + z.intValue())
1490 .toString(b)
1491 .substr(1) + r
1492 y.divRemTo(d, y, z)
1493 }
1494 return z.intValue()
1495 .toString(b) + r
1496}
3af2954a 1497
ab78acc6
IC
1498// (protected) convert from radix string
1499function bnpFromRadix(s, b) {
1500 var self = this
1501 self.fromInt(0)
1502 if (b == null) b = 10
1503 var cs = self.chunkSize(b)
1504 var d = Math.pow(b, cs),
1505 mi = false,
1506 j = 0,
1507 w = 0
1508 for (var i = 0; i < s.length; ++i) {
1509 var x = intAt(s, i)
1510 if (x < 0) {
1511 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1512 continue
1513 }
1514 w = b * w + x
1515 if (++j >= cs) {
1516 self.dMultiply(d)
1517 self.dAddOffset(w, 0)
1518 j = 0
1519 w = 0
1520 }
1521 }
1522 if (j > 0) {
1523 self.dMultiply(Math.pow(b, j))
1524 self.dAddOffset(w, 0)
1525 }
1526 if (mi) BigInteger.ZERO.subTo(self, self)
1527}
3af2954a 1528
ab78acc6
IC
1529// (protected) alternate constructor
1530function bnpFromNumber(a, b, c) {
1531 var self = this
1532 if ("number" == typeof b) {
1533 // new BigInteger(int,int,RNG)
1534 if (a < 2) self.fromInt(1)
1535 else {
1536 self.fromNumber(a, c)
1537 if (!self.testBit(a - 1)) // force MSB set
1538 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1539 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1540 while (!self.isProbablePrime(b)) {
1541 self.dAddOffset(2, 0)
1542 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1543 }
1544 }
1545 } else {
1546 // new BigInteger(int,RNG)
1547 var x = new Array(),
1548 t = a & 7
1549 x.length = (a >> 3) + 1
1550 b.nextBytes(x)
1551 if (t > 0) x[0] &= ((1 << t) - 1)
1552 else x[0] = 0
1553 self.fromString(x, 256)
3af2954a 1554 }
ab78acc6 1555}
3af2954a 1556
ab78acc6
IC
1557// (public) convert to bigendian byte array
1558function bnToByteArray() {
1559 var self = this
1560 var i = self.t,
1561 r = new Array()
1562 r[0] = self.s
1563 var p = self.DB - (i * self.DB) % 8,
1564 d, k = 0
1565 if (i-- > 0) {
1566 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1567 r[k++] = d | (self.s << (self.DB - p))
1568 while (i >= 0) {
1569 if (p < 8) {
1570 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1571 d |= self[--i] >> (p += self.DB - 8)
1572 } else {
1573 d = (self[i] >> (p -= 8)) & 0xff
1574 if (p <= 0) {
1575 p += self.DB
1576 --i
1577 }
1578 }
1579 if ((d & 0x80) != 0) d |= -256
1580 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1581 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1582 }
3af2954a 1583 }
ab78acc6
IC
1584 return r
1585}
3af2954a 1586
ab78acc6
IC
1587function bnEquals(a) {
1588 return (this.compareTo(a) == 0)
1589}
3af2954a 1590
ab78acc6
IC
1591function bnMin(a) {
1592 return (this.compareTo(a) < 0) ? this : a
1593}
3af2954a 1594
ab78acc6
IC
1595function bnMax(a) {
1596 return (this.compareTo(a) > 0) ? this : a
1597}
3af2954a 1598
ab78acc6
IC
1599// (protected) r = this op a (bitwise)
1600function bnpBitwiseTo(a, op, r) {
1601 var self = this
1602 var i, f, m = Math.min(a.t, self.t)
1603 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1604 if (a.t < self.t) {
1605 f = a.s & self.DM
1606 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1607 r.t = self.t
1608 } else {
1609 f = self.s & self.DM
1610 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1611 r.t = a.t
3af2954a 1612 }
ab78acc6
IC
1613 r.s = op(self.s, a.s)
1614 r.clamp()
1615}
3af2954a 1616
ab78acc6
IC
1617// (public) this & a
1618function op_and(x, y) {
1619 return x & y
1620}
3af2954a 1621
ab78acc6
IC
1622function bnAnd(a) {
1623 var r = new BigInteger()
1624 this.bitwiseTo(a, op_and, r)
1625 return r
1626}
3af2954a 1627
ab78acc6
IC
1628// (public) this | a
1629function op_or(x, y) {
1630 return x | y
1631}
3af2954a 1632
ab78acc6
IC
1633function bnOr(a) {
1634 var r = new BigInteger()
1635 this.bitwiseTo(a, op_or, r)
1636 return r
1637}
3af2954a 1638
ab78acc6
IC
1639// (public) this ^ a
1640function op_xor(x, y) {
1641 return x ^ y
1642}
3af2954a 1643
ab78acc6
IC
1644function bnXor(a) {
1645 var r = new BigInteger()
1646 this.bitwiseTo(a, op_xor, r)
1647 return r
1648}
3af2954a 1649
ab78acc6
IC
1650// (public) this & ~a
1651function op_andnot(x, y) {
1652 return x & ~y
1653}
3af2954a 1654
ab78acc6
IC
1655function bnAndNot(a) {
1656 var r = new BigInteger()
1657 this.bitwiseTo(a, op_andnot, r)
1658 return r
1659}
3af2954a 1660
ab78acc6
IC
1661// (public) ~this
1662function bnNot() {
1663 var r = new BigInteger()
1664 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1665 r.t = this.t
1666 r.s = ~this.s
1667 return r
1668}
3af2954a 1669
ab78acc6
IC
1670// (public) this << n
1671function bnShiftLeft(n) {
1672 var r = new BigInteger()
1673 if (n < 0) this.rShiftTo(-n, r)
1674 else this.lShiftTo(n, r)
1675 return r
1676}
3af2954a 1677
ab78acc6
IC
1678// (public) this >> n
1679function bnShiftRight(n) {
1680 var r = new BigInteger()
1681 if (n < 0) this.lShiftTo(-n, r)
1682 else this.rShiftTo(n, r)
1683 return r
1684}
3af2954a 1685
ab78acc6
IC
1686// return index of lowest 1-bit in x, x < 2^31
1687function lbit(x) {
1688 if (x == 0) return -1
1689 var r = 0
1690 if ((x & 0xffff) == 0) {
1691 x >>= 16
1692 r += 16
3af2954a 1693 }
ab78acc6
IC
1694 if ((x & 0xff) == 0) {
1695 x >>= 8
1696 r += 8
1697 }
1698 if ((x & 0xf) == 0) {
1699 x >>= 4
1700 r += 4
1701 }
1702 if ((x & 3) == 0) {
1703 x >>= 2
1704 r += 2
1705 }
1706 if ((x & 1) == 0)++r
1707 return r
1708}
3af2954a 1709
ab78acc6
IC
1710// (public) returns index of lowest 1-bit (or -1 if none)
1711function bnGetLowestSetBit() {
1712 for (var i = 0; i < this.t; ++i)
1713 if (this[i] != 0) return i * this.DB + lbit(this[i])
1714 if (this.s < 0) return this.t * this.DB
1715 return -1
1716}
3af2954a 1717
ab78acc6
IC
1718// return number of 1 bits in x
1719function cbit(x) {
1720 var r = 0
1721 while (x != 0) {
1722 x &= x - 1
1723 ++r
3af2954a 1724 }
ab78acc6
IC
1725 return r
1726}
3af2954a 1727
ab78acc6
IC
1728// (public) return number of set bits
1729function bnBitCount() {
1730 var r = 0,
1731 x = this.s & this.DM
1732 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1733 return r
1734}
1735
1736// (public) true iff nth bit is set
1737function bnTestBit(n) {
1738 var j = Math.floor(n / this.DB)
1739 if (j >= this.t) return (this.s != 0)
1740 return ((this[j] & (1 << (n % this.DB))) != 0)
1741}
3af2954a 1742
ab78acc6
IC
1743// (protected) this op (1<<n)
1744function bnpChangeBit(n, op) {
1745 var r = BigInteger.ONE.shiftLeft(n)
1746 this.bitwiseTo(r, op, r)
1747 return r
1748}
3af2954a 1749
ab78acc6
IC
1750// (public) this | (1<<n)
1751function bnSetBit(n) {
1752 return this.changeBit(n, op_or)
1753}
3af2954a 1754
ab78acc6
IC
1755// (public) this & ~(1<<n)
1756function bnClearBit(n) {
1757 return this.changeBit(n, op_andnot)
1758}
3af2954a 1759
ab78acc6
IC
1760// (public) this ^ (1<<n)
1761function bnFlipBit(n) {
1762 return this.changeBit(n, op_xor)
1763}
3af2954a 1764
ab78acc6
IC
1765// (protected) r = this + a
1766function bnpAddTo(a, r) {
1767 var self = this
3af2954a 1768
ab78acc6
IC
1769 var i = 0,
1770 c = 0,
1771 m = Math.min(a.t, self.t)
1772 while (i < m) {
1773 c += self[i] + a[i]
1774 r[i++] = c & self.DM
1775 c >>= self.DB
1776 }
1777 if (a.t < self.t) {
1778 c += a.s
1779 while (i < self.t) {
1780 c += self[i]
1781 r[i++] = c & self.DM
1782 c >>= self.DB
1783 }
1784 c += self.s
1785 } else {
1786 c += self.s
1787 while (i < a.t) {
1788 c += a[i]
1789 r[i++] = c & self.DM
1790 c >>= self.DB
1791 }
1792 c += a.s
1793 }
1794 r.s = (c < 0) ? -1 : 0
1795 if (c > 0) r[i++] = c
1796 else if (c < -1) r[i++] = self.DV + c
1797 r.t = i
1798 r.clamp()
1799}
3af2954a 1800
ab78acc6
IC
1801// (public) this + a
1802function bnAdd(a) {
1803 var r = new BigInteger()
1804 this.addTo(a, r)
1805 return r
1806}
3af2954a 1807
ab78acc6
IC
1808// (public) this - a
1809function bnSubtract(a) {
1810 var r = new BigInteger()
1811 this.subTo(a, r)
1812 return r
1813}
3af2954a 1814
ab78acc6
IC
1815// (public) this * a
1816function bnMultiply(a) {
1817 var r = new BigInteger()
1818 this.multiplyTo(a, r)
1819 return r
1820}
3af2954a 1821
ab78acc6
IC
1822// (public) this^2
1823function bnSquare() {
1824 var r = new BigInteger()
1825 this.squareTo(r)
1826 return r
1827}
3af2954a 1828
ab78acc6
IC
1829// (public) this / a
1830function bnDivide(a) {
1831 var r = new BigInteger()
1832 this.divRemTo(a, r, null)
1833 return r
1834}
3af2954a 1835
ab78acc6
IC
1836// (public) this % a
1837function bnRemainder(a) {
1838 var r = new BigInteger()
1839 this.divRemTo(a, null, r)
1840 return r
1841}
3af2954a 1842
ab78acc6
IC
1843// (public) [this/a,this%a]
1844function bnDivideAndRemainder(a) {
1845 var q = new BigInteger(),
1846 r = new BigInteger()
1847 this.divRemTo(a, q, r)
1848 return new Array(q, r)
1849}
3af2954a 1850
ab78acc6
IC
1851// (protected) this *= n, this >= 0, 1 < n < DV
1852function bnpDMultiply(n) {
1853 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1854 ++this.t
1855 this.clamp()
1856}
3af2954a 1857
ab78acc6
IC
1858// (protected) this += n << w words, this >= 0
1859function bnpDAddOffset(n, w) {
1860 if (n == 0) return
1861 while (this.t <= w) this[this.t++] = 0
1862 this[w] += n
1863 while (this[w] >= this.DV) {
1864 this[w] -= this.DV
1865 if (++w >= this.t) this[this.t++] = 0
1866 ++this[w]
3af2954a 1867 }
ab78acc6 1868}
3af2954a 1869
ab78acc6
IC
1870// A "null" reducer
1871function NullExp() {}
3af2954a 1872
ab78acc6
IC
1873function nNop(x) {
1874 return x
1875}
3af2954a 1876
ab78acc6
IC
1877function nMulTo(x, y, r) {
1878 x.multiplyTo(y, r)
1879}
3af2954a 1880
ab78acc6
IC
1881function nSqrTo(x, r) {
1882 x.squareTo(r)
1883}
3af2954a 1884
ab78acc6
IC
1885NullExp.prototype.convert = nNop
1886NullExp.prototype.revert = nNop
1887NullExp.prototype.mulTo = nMulTo
1888NullExp.prototype.sqrTo = nSqrTo
3af2954a 1889
ab78acc6
IC
1890// (public) this^e
1891function bnPow(e) {
1892 return this.exp(e, new NullExp())
1893}
3af2954a 1894
ab78acc6
IC
1895// (protected) r = lower n words of "this * a", a.t <= n
1896// "this" should be the larger one if appropriate.
1897function bnpMultiplyLowerTo(a, n, r) {
1898 var i = Math.min(this.t + a.t, n)
1899 r.s = 0; // assumes a,this >= 0
1900 r.t = i
1901 while (i > 0) r[--i] = 0
1902 var j
1903 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
1904 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
1905 r.clamp()
1906}
3af2954a 1907
ab78acc6
IC
1908// (protected) r = "this * a" without lower n words, n > 0
1909// "this" should be the larger one if appropriate.
1910function bnpMultiplyUpperTo(a, n, r) {
1911 --n
1912 var i = r.t = this.t + a.t - n
1913 r.s = 0; // assumes a,this >= 0
1914 while (--i >= 0) r[i] = 0
1915 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
1916 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
1917 r.clamp()
1918 r.drShiftTo(1, r)
1919}
3af2954a 1920
ab78acc6
IC
1921// Barrett modular reduction
1922function Barrett(m) {
1923 // setup Barrett
1924 this.r2 = new BigInteger()
1925 this.q3 = new BigInteger()
1926 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
1927 this.mu = this.r2.divide(m)
1928 this.m = m
1929}
3af2954a 1930
ab78acc6
IC
1931function barrettConvert(x) {
1932 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
1933 else if (x.compareTo(this.m) < 0) return x
1934 else {
1935 var r = new BigInteger()
1936 x.copyTo(r)
1937 this.reduce(r)
1938 return r
3af2954a 1939 }
ab78acc6 1940}
3af2954a 1941
ab78acc6
IC
1942function barrettRevert(x) {
1943 return x
1944}
3af2954a 1945
ab78acc6
IC
1946// x = x mod m (HAC 14.42)
1947function barrettReduce(x) {
1948 var self = this
1949 x.drShiftTo(self.m.t - 1, self.r2)
1950 if (x.t > self.m.t + 1) {
1951 x.t = self.m.t + 1
1952 x.clamp()
3af2954a 1953 }
ab78acc6
IC
1954 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
1955 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
1956 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
1957 x.subTo(self.r2, x)
1958 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
1959}
3af2954a 1960
ab78acc6
IC
1961// r = x^2 mod m; x != r
1962function barrettSqrTo(x, r) {
1963 x.squareTo(r)
1964 this.reduce(r)
1965}
3af2954a 1966
ab78acc6
IC
1967// r = x*y mod m; x,y != r
1968function barrettMulTo(x, y, r) {
1969 x.multiplyTo(y, r)
1970 this.reduce(r)
1971}
3af2954a 1972
ab78acc6
IC
1973Barrett.prototype.convert = barrettConvert
1974Barrett.prototype.revert = barrettRevert
1975Barrett.prototype.reduce = barrettReduce
1976Barrett.prototype.mulTo = barrettMulTo
1977Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 1978
ab78acc6
IC
1979// (public) this^e % m (HAC 14.85)
1980function bnModPow(e, m) {
1981 var i = e.bitLength(),
1982 k, r = nbv(1),
1983 z
1984 if (i <= 0) return r
1985 else if (i < 18) k = 1
1986 else if (i < 48) k = 3
1987 else if (i < 144) k = 4
1988 else if (i < 768) k = 5
1989 else k = 6
1990 if (i < 8)
1991 z = new Classic(m)
1992 else if (m.isEven())
1993 z = new Barrett(m)
1994 else
1995 z = new Montgomery(m)
3af2954a 1996
ab78acc6
IC
1997 // precomputation
1998 var g = new Array(),
1999 n = 3,
2000 k1 = k - 1,
2001 km = (1 << k) - 1
2002 g[1] = z.convert(this)
2003 if (k > 1) {
2004 var g2 = new BigInteger()
2005 z.sqrTo(g[1], g2)
2006 while (n <= km) {
2007 g[n] = new BigInteger()
2008 z.mulTo(g2, g[n - 2], g[n])
2009 n += 2
2010 }
2011 }
2012
2013 var j = e.t - 1,
2014 w, is1 = true,
2015 r2 = new BigInteger(),
2016 t
2017 i = nbits(e[j]) - 1
2018 while (j >= 0) {
2019 if (i >= k1) w = (e[j] >> (i - k1)) & km
2020 else {
2021 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2022 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2023 }
3af2954a 2024
ab78acc6
IC
2025 n = k
2026 while ((w & 1) == 0) {
2027 w >>= 1
2028 --n
2029 }
2030 if ((i -= n) < 0) {
2031 i += this.DB
2032 --j
2033 }
2034 if (is1) { // ret == 1, don't bother squaring or multiplying it
2035 g[w].copyTo(r)
2036 is1 = false
2037 } else {
2038 while (n > 1) {
2039 z.sqrTo(r, r2)
2040 z.sqrTo(r2, r)
2041 n -= 2
2042 }
2043 if (n > 0) z.sqrTo(r, r2)
2044 else {
2045 t = r
2046 r = r2
2047 r2 = t
2048 }
2049 z.mulTo(r2, g[w], r)
2050 }
3af2954a 2051
ab78acc6
IC
2052 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2053 z.sqrTo(r, r2)
2054 t = r
2055 r = r2
2056 r2 = t
2057 if (--i < 0) {
2058 i = this.DB - 1
2059 --j
3af2954a 2060 }
3af2954a
IC
2061 }
2062 }
ab78acc6
IC
2063 return z.revert(r)
2064}
3af2954a 2065
ab78acc6
IC
2066// (public) gcd(this,a) (HAC 14.54)
2067function bnGCD(a) {
2068 var x = (this.s < 0) ? this.negate() : this.clone()
2069 var y = (a.s < 0) ? a.negate() : a.clone()
2070 if (x.compareTo(y) < 0) {
2071 var t = x
2072 x = y
2073 y = t
2074 }
2075 var i = x.getLowestSetBit(),
2076 g = y.getLowestSetBit()
2077 if (g < 0) return x
2078 if (i < g) g = i
2079 if (g > 0) {
2080 x.rShiftTo(g, x)
2081 y.rShiftTo(g, y)
2082 }
2083 while (x.signum() > 0) {
2084 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2085 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2086 if (x.compareTo(y) >= 0) {
2087 x.subTo(y, x)
2088 x.rShiftTo(1, x)
2089 } else {
2090 y.subTo(x, y)
2091 y.rShiftTo(1, y)
2092 }
3af2954a 2093 }
ab78acc6
IC
2094 if (g > 0) y.lShiftTo(g, y)
2095 return y
2096}
3af2954a 2097
ab78acc6
IC
2098// (protected) this % n, n < 2^26
2099function bnpModInt(n) {
2100 if (n <= 0) return 0
2101 var d = this.DV % n,
2102 r = (this.s < 0) ? n - 1 : 0
2103 if (this.t > 0)
2104 if (d == 0) r = this[0] % n
2105 else
2106 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2107 return r
2108}
3af2954a 2109
ab78acc6
IC
2110// (public) 1/this % m (HAC 14.61)
2111function bnModInverse(m) {
2112 var ac = m.isEven()
2113 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2114 var u = m.clone(),
2115 v = this.clone()
2116 var a = nbv(1),
2117 b = nbv(0),
2118 c = nbv(0),
2119 d = nbv(1)
2120 while (u.signum() != 0) {
2121 while (u.isEven()) {
2122 u.rShiftTo(1, u)
2123 if (ac) {
2124 if (!a.isEven() || !b.isEven()) {
2125 a.addTo(this, a)
2126 b.subTo(m, b)
2127 }
2128 a.rShiftTo(1, a)
2129 } else if (!b.isEven()) b.subTo(m, b)
2130 b.rShiftTo(1, b)
2131 }
2132 while (v.isEven()) {
2133 v.rShiftTo(1, v)
2134 if (ac) {
2135 if (!c.isEven() || !d.isEven()) {
2136 c.addTo(this, c)
2137 d.subTo(m, d)
2138 }
2139 c.rShiftTo(1, c)
2140 } else if (!d.isEven()) d.subTo(m, d)
2141 d.rShiftTo(1, d)
2142 }
2143 if (u.compareTo(v) >= 0) {
2144 u.subTo(v, u)
2145 if (ac) a.subTo(c, a)
2146 b.subTo(d, b)
2147 } else {
2148 v.subTo(u, v)
2149 if (ac) c.subTo(a, c)
2150 d.subTo(b, d)
2151 }
2152 }
2153 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2154 if (d.compareTo(m) >= 0) return d.subtract(m)
2155 if (d.signum() < 0) d.addTo(m, d)
2156 else return d
2157 if (d.signum() < 0) return d.add(m)
2158 else return d
2159}
2160
2161var lowprimes = [
2162 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2163 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2164 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2165 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2166 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2167 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2168 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2169 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2170 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2171 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2172 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2173]
2174
2175var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2176
2177// (public) test primality with certainty >= 1-.5^t
2178function bnIsProbablePrime(t) {
2179 var i, x = this.abs()
2180 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2181 for (i = 0; i < lowprimes.length; ++i)
2182 if (x[0] == lowprimes[i]) return true
2183 return false
3af2954a 2184 }
ab78acc6
IC
2185 if (x.isEven()) return false
2186 i = 1
2187 while (i < lowprimes.length) {
2188 var m = lowprimes[i],
2189 j = i + 1
2190 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2191 m = x.modInt(m)
2192 while (i < j) if (m % lowprimes[i++] == 0) return false
2193 }
2194 return x.millerRabin(t)
2195}
2196
2197// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2198function bnpMillerRabin(t) {
2199 var n1 = this.subtract(BigInteger.ONE)
2200 var k = n1.getLowestSetBit()
2201 if (k <= 0) return false
2202 var r = n1.shiftRight(k)
2203 t = (t + 1) >> 1
2204 if (t > lowprimes.length) t = lowprimes.length
2205 var a = new BigInteger(null)
2206 var j, bases = []
2207 for (var i = 0; i < t; ++i) {
2208 for (;;) {
2209 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2210 if (bases.indexOf(j) == -1) break
2211 }
2212 bases.push(j)
2213 a.fromInt(j)
2214 var y = a.modPow(r, this)
2215 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2216 var j = 1
2217 while (j++ < k && y.compareTo(n1) != 0) {
2218 y = y.modPowInt(2, this)
2219 if (y.compareTo(BigInteger.ONE) == 0) return false
2220 }
2221 if (y.compareTo(n1) != 0) return false
2222 }
3af2954a 2223 }
ab78acc6
IC
2224 return true
2225}
3af2954a 2226
ab78acc6
IC
2227// protected
2228proto.chunkSize = bnpChunkSize
2229proto.toRadix = bnpToRadix
2230proto.fromRadix = bnpFromRadix
2231proto.fromNumber = bnpFromNumber
2232proto.bitwiseTo = bnpBitwiseTo
2233proto.changeBit = bnpChangeBit
2234proto.addTo = bnpAddTo
2235proto.dMultiply = bnpDMultiply
2236proto.dAddOffset = bnpDAddOffset
2237proto.multiplyLowerTo = bnpMultiplyLowerTo
2238proto.multiplyUpperTo = bnpMultiplyUpperTo
2239proto.modInt = bnpModInt
2240proto.millerRabin = bnpMillerRabin
3af2954a 2241
ab78acc6
IC
2242// public
2243proto.clone = bnClone
2244proto.intValue = bnIntValue
2245proto.byteValue = bnByteValue
2246proto.shortValue = bnShortValue
2247proto.signum = bnSigNum
2248proto.toByteArray = bnToByteArray
2249proto.equals = bnEquals
2250proto.min = bnMin
2251proto.max = bnMax
2252proto.and = bnAnd
2253proto.or = bnOr
2254proto.xor = bnXor
2255proto.andNot = bnAndNot
2256proto.not = bnNot
2257proto.shiftLeft = bnShiftLeft
2258proto.shiftRight = bnShiftRight
2259proto.getLowestSetBit = bnGetLowestSetBit
2260proto.bitCount = bnBitCount
2261proto.testBit = bnTestBit
2262proto.setBit = bnSetBit
2263proto.clearBit = bnClearBit
2264proto.flipBit = bnFlipBit
2265proto.add = bnAdd
2266proto.subtract = bnSubtract
2267proto.multiply = bnMultiply
2268proto.divide = bnDivide
2269proto.remainder = bnRemainder
2270proto.divideAndRemainder = bnDivideAndRemainder
2271proto.modPow = bnModPow
2272proto.modInverse = bnModInverse
2273proto.pow = bnPow
2274proto.gcd = bnGCD
2275proto.isProbablePrime = bnIsProbablePrime
3af2954a 2276
ab78acc6
IC
2277// JSBN-specific extension
2278proto.square = bnSquare
3af2954a 2279
ab78acc6
IC
2280// constants
2281BigInteger.ZERO = nbv(0)
2282BigInteger.ONE = nbv(1)
2283BigInteger.valueOf = nbv
3af2954a 2284
ab78acc6 2285module.exports = BigInteger
3af2954a 2286
ab78acc6
IC
2287},{"../package.json":4}],2:[function(require,module,exports){
2288(function (Buffer){
2289// FIXME: Kind of a weird way to throw exceptions, consider removing
2290var assert = require('assert')
2291var BigInteger = require('./bigi')
3af2954a 2292
ab78acc6
IC
2293/**
2294 * Turns a byte array into a big integer.
2295 *
2296 * This function will interpret a byte array as a big integer in big
2297 * endian notation.
2298 */
2299BigInteger.fromByteArrayUnsigned = function(byteArray) {
2300 // BigInteger expects a DER integer conformant byte array
2301 if (byteArray[0] & 0x80) {
2302 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2303 }
2304
ab78acc6
IC
2305 return new BigInteger(byteArray)
2306}
3af2954a 2307
ab78acc6
IC
2308/**
2309 * Returns a byte array representation of the big integer.
2310 *
2311 * This returns the absolute of the contained value in big endian
2312 * form. A value of zero results in an empty array.
2313 */
2314BigInteger.prototype.toByteArrayUnsigned = function() {
2315 var byteArray = this.toByteArray()
2316 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2317}
3af2954a 2318
ab78acc6
IC
2319BigInteger.fromDERInteger = function(byteArray) {
2320 return new BigInteger(byteArray)
2321}
3af2954a 2322
ab78acc6
IC
2323/*
2324 * Converts BigInteger to a DER integer representation.
2325 *
2326 * The format for this value uses the most significant bit as a sign
2327 * bit. If the most significant bit is already set and the integer is
2328 * positive, a 0x00 is prepended.
2329 *
2330 * Examples:
2331 *
2332 * 0 => 0x00
2333 * 1 => 0x01
2334 * -1 => 0xff
2335 * 127 => 0x7f
2336 * -127 => 0x81
2337 * 128 => 0x0080
2338 * -128 => 0x80
2339 * 255 => 0x00ff
2340 * -255 => 0xff01
2341 * 16300 => 0x3fac
2342 * -16300 => 0xc054
2343 * 62300 => 0x00f35c
2344 * -62300 => 0xff0ca4
2345*/
2346BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2347
ab78acc6
IC
2348BigInteger.fromBuffer = function(buffer) {
2349 // BigInteger expects a DER integer conformant byte array
2350 if (buffer[0] & 0x80) {
2351 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2352
ab78acc6 2353 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2354 }
2355
ab78acc6
IC
2356 return new BigInteger(buffer)
2357}
3af2954a 2358
ab78acc6
IC
2359BigInteger.fromHex = function(hex) {
2360 if (hex === '') return BigInteger.ZERO
3af2954a 2361
ab78acc6
IC
2362 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2363 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2364 return new BigInteger(hex, 16)
2365}
3af2954a 2366
ab78acc6
IC
2367BigInteger.prototype.toBuffer = function(size) {
2368 var byteArray = this.toByteArrayUnsigned()
2369 var zeros = []
3af2954a 2370
ab78acc6
IC
2371 var padding = size - byteArray.length
2372 while (zeros.length < padding) zeros.push(0)
3af2954a 2373
ab78acc6
IC
2374 return new Buffer(zeros.concat(byteArray))
2375}
3af2954a 2376
ab78acc6
IC
2377BigInteger.prototype.toHex = function(size) {
2378 return this.toBuffer(size).toString('hex')
2379}
3af2954a 2380
ab78acc6
IC
2381}).call(this,require("buffer").Buffer)
2382},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2383var BigInteger = require('./bigi')
3af2954a 2384
ab78acc6
IC
2385//addons
2386require('./convert')
3af2954a 2387
ab78acc6
IC
2388module.exports = BigInteger
2389},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2390module.exports={
2391 "name": "bigi",
2392 "version": "1.4.0",
2393 "description": "Big integers.",
2394 "keywords": [
2395 "cryptography",
2396 "math",
2397 "bitcoin",
2398 "arbitrary",
2399 "precision",
2400 "arithmetic",
2401 "big",
2402 "integer",
2403 "int",
2404 "number",
2405 "biginteger",
2406 "bigint",
2407 "bignumber",
2408 "decimal",
2409 "float"
2410 ],
2411 "devDependencies": {
2412 "mocha": "^1.20.1",
2413 "jshint": "^2.5.1",
2414 "coveralls": "^2.10.0",
2415 "istanbul": "^0.2.11"
2416 },
2417 "repository": {
2418 "url": "https://github.com/cryptocoinjs/bigi",
2419 "type": "git"
2420 },
2421 "main": "./lib/index.js",
2422 "scripts": {
2423 "test": "_mocha -- test/*.js",
2424 "jshint": "jshint --config jshint.json lib/*.js ; true",
2425 "unit": "mocha",
2426 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2427 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2428 },
2429 "dependencies": {},
2430 "testling": {
2431 "files": "test/*.js",
2432 "harness": "mocha",
2433 "browsers": [
2434 "ie/9..latest",
2435 "firefox/latest",
2436 "chrome/latest",
2437 "safari/6.0..latest",
2438 "iphone/6.0..latest",
2439 "android-browser/4.2..latest"
2440 ]
2441 },
2442 "bugs": {
2443 "url": "https://github.com/cryptocoinjs/bigi/issues"
2444 },
2445 "homepage": "https://github.com/cryptocoinjs/bigi",
2446 "_id": "bigi@1.4.0",
2447 "dist": {
2448 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2449 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2450 },
2451 "_from": "bigi@^1.4.0",
2452 "_npmVersion": "1.4.3",
2453 "_npmUser": {
2454 "name": "jp",
2455 "email": "jprichardson@gmail.com"
2456 },
2457 "maintainers": [
2458 {
2459 "name": "jp",
2460 "email": "jprichardson@gmail.com"
2461 },
2462 {
2463 "name": "midnightlightning",
2464 "email": "boydb@midnightdesign.ws"
2465 },
2466 {
2467 "name": "sidazhang",
2468 "email": "sidazhang89@gmail.com"
2469 },
2470 {
2471 "name": "nadav",
2472 "email": "npm@shesek.info"
3af2954a 2473 }
ab78acc6
IC
2474 ],
2475 "directories": {},
2476 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2477 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2478}
3af2954a 2479
ab78acc6
IC
2480},{}],5:[function(require,module,exports){
2481// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2482//
2483// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2484//
2485// Originally from narwhal.js (http://narwhaljs.org)
2486// Copyright (c) 2009 Thomas Robinson <280north.com>
2487//
2488// Permission is hereby granted, free of charge, to any person obtaining a copy
2489// of this software and associated documentation files (the 'Software'), to
2490// deal in the Software without restriction, including without limitation the
2491// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2492// sell copies of the Software, and to permit persons to whom the Software is
2493// furnished to do so, subject to the following conditions:
2494//
2495// The above copyright notice and this permission notice shall be included in
2496// all copies or substantial portions of the Software.
2497//
2498// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2499// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2500// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2501// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2502// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2503// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2504
ab78acc6
IC
2505// when used in node, this will actually load the util module we depend on
2506// versus loading the builtin util module as happens otherwise
2507// this is a bug in node module loading as far as I am concerned
2508var util = require('util/');
3af2954a 2509
ab78acc6
IC
2510var pSlice = Array.prototype.slice;
2511var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2512
ab78acc6
IC
2513// 1. The assert module provides functions that throw
2514// AssertionError's when particular conditions are not met. The
2515// assert module must conform to the following interface.
3af2954a 2516
ab78acc6 2517var assert = module.exports = ok;
3af2954a 2518
ab78acc6
IC
2519// 2. The AssertionError is defined in assert.
2520// new assert.AssertionError({ message: message,
2521// actual: actual,
2522// expected: expected })
3af2954a 2523
ab78acc6
IC
2524assert.AssertionError = function AssertionError(options) {
2525 this.name = 'AssertionError';
2526 this.actual = options.actual;
2527 this.expected = options.expected;
2528 this.operator = options.operator;
2529 if (options.message) {
2530 this.message = options.message;
2531 this.generatedMessage = false;
2532 } else {
2533 this.message = getMessage(this);
2534 this.generatedMessage = true;
2535 }
2536 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2537
ab78acc6
IC
2538 if (Error.captureStackTrace) {
2539 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2540 }
ab78acc6
IC
2541 else {
2542 // non v8 browsers so we can have a stacktrace
2543 var err = new Error();
2544 if (err.stack) {
2545 var out = err.stack;
3af2954a 2546
ab78acc6
IC
2547 // try to strip useless frames
2548 var fn_name = stackStartFunction.name;
2549 var idx = out.indexOf('\n' + fn_name);
2550 if (idx >= 0) {
2551 // once we have located the function frame
2552 // we need to strip out everything before it (and its line)
2553 var next_line = out.indexOf('\n', idx + 1);
2554 out = out.substring(next_line + 1);
2555 }
3af2954a 2556
ab78acc6 2557 this.stack = out;
3af2954a 2558 }
3af2954a 2559 }
ab78acc6 2560};
3af2954a 2561
ab78acc6
IC
2562// assert.AssertionError instanceof Error
2563util.inherits(assert.AssertionError, Error);
3af2954a 2564
ab78acc6
IC
2565function replacer(key, value) {
2566 if (util.isUndefined(value)) {
2567 return '' + value;
2568 }
2569 if (util.isNumber(value) && !isFinite(value)) {
2570 return value.toString();
2571 }
2572 if (util.isFunction(value) || util.isRegExp(value)) {
2573 return value.toString();
2574 }
2575 return value;
2576}
3af2954a 2577
ab78acc6
IC
2578function truncate(s, n) {
2579 if (util.isString(s)) {
2580 return s.length < n ? s : s.slice(0, n);
2581 } else {
2582 return s;
2583 }
2584}
3af2954a 2585
ab78acc6
IC
2586function getMessage(self) {
2587 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2588 self.operator + ' ' +
2589 truncate(JSON.stringify(self.expected, replacer), 128);
2590}
3af2954a 2591
ab78acc6
IC
2592// At present only the three keys mentioned above are used and
2593// understood by the spec. Implementations or sub modules can pass
2594// other keys to the AssertionError's constructor - they will be
2595// ignored.
3af2954a 2596
ab78acc6
IC
2597// 3. All of the following functions must throw an AssertionError
2598// when a corresponding condition is not met, with a message that
2599// may be undefined if not provided. All assertion methods provide
2600// both the actual and expected values to the assertion error for
2601// display purposes.
3af2954a 2602
ab78acc6
IC
2603function fail(actual, expected, message, operator, stackStartFunction) {
2604 throw new assert.AssertionError({
2605 message: message,
2606 actual: actual,
2607 expected: expected,
2608 operator: operator,
2609 stackStartFunction: stackStartFunction
2610 });
2611}
3af2954a 2612
ab78acc6
IC
2613// EXTENSION! allows for well behaved errors defined elsewhere.
2614assert.fail = fail;
ebd8d4e8 2615
ab78acc6
IC
2616// 4. Pure assertion tests whether a value is truthy, as determined
2617// by !!guard.
2618// assert.ok(guard, message_opt);
2619// This statement is equivalent to assert.equal(true, !!guard,
2620// message_opt);. To test strictly for the value true, use
2621// assert.strictEqual(true, guard, message_opt);.
3af2954a 2622
ab78acc6
IC
2623function ok(value, message) {
2624 if (!value) fail(value, true, message, '==', assert.ok);
2625}
2626assert.ok = ok;
3af2954a 2627
ab78acc6
IC
2628// 5. The equality assertion tests shallow, coercive equality with
2629// ==.
2630// assert.equal(actual, expected, message_opt);
3af2954a 2631
ab78acc6
IC
2632assert.equal = function equal(actual, expected, message) {
2633 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2634};
3af2954a 2635
ab78acc6
IC
2636// 6. The non-equality assertion tests for whether two objects are not equal
2637// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2638
ab78acc6
IC
2639assert.notEqual = function notEqual(actual, expected, message) {
2640 if (actual == expected) {
2641 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2642 }
ab78acc6 2643};
3af2954a 2644
ab78acc6
IC
2645// 7. The equivalence assertion tests a deep equality relation.
2646// assert.deepEqual(actual, expected, message_opt);
3af2954a 2647
ab78acc6
IC
2648assert.deepEqual = function deepEqual(actual, expected, message) {
2649 if (!_deepEqual(actual, expected)) {
2650 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2651 }
2652};
3af2954a 2653
ab78acc6
IC
2654function _deepEqual(actual, expected) {
2655 // 7.1. All identical values are equivalent, as determined by ===.
2656 if (actual === expected) {
2657 return true;
3af2954a 2658
ab78acc6
IC
2659 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2660 if (actual.length != expected.length) return false;
3af2954a 2661
ab78acc6
IC
2662 for (var i = 0; i < actual.length; i++) {
2663 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2664 }
2665
ab78acc6 2666 return true;
3af2954a 2667
ab78acc6
IC
2668 // 7.2. If the expected value is a Date object, the actual value is
2669 // equivalent if it is also a Date object that refers to the same time.
2670 } else if (util.isDate(actual) && util.isDate(expected)) {
2671 return actual.getTime() === expected.getTime();
3af2954a 2672
ab78acc6
IC
2673 // 7.3 If the expected value is a RegExp object, the actual value is
2674 // equivalent if it is also a RegExp object with the same source and
2675 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2676 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2677 return actual.source === expected.source &&
2678 actual.global === expected.global &&
2679 actual.multiline === expected.multiline &&
2680 actual.lastIndex === expected.lastIndex &&
2681 actual.ignoreCase === expected.ignoreCase;
3af2954a 2682
ab78acc6
IC
2683 // 7.4. Other pairs that do not both pass typeof value == 'object',
2684 // equivalence is determined by ==.
2685 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2686 return actual == expected;
3af2954a 2687
ab78acc6
IC
2688 // 7.5 For all other Object pairs, including Array objects, equivalence is
2689 // determined by having the same number of owned properties (as verified
2690 // with Object.prototype.hasOwnProperty.call), the same set of keys
2691 // (although not necessarily the same order), equivalent values for every
2692 // corresponding key, and an identical 'prototype' property. Note: this
2693 // accounts for both named and indexed properties on Arrays.
2694 } else {
2695 return objEquiv(actual, expected);
3af2954a 2696 }
ab78acc6 2697}
3af2954a 2698
ab78acc6
IC
2699function isArguments(object) {
2700 return Object.prototype.toString.call(object) == '[object Arguments]';
2701}
3af2954a 2702
ab78acc6
IC
2703function objEquiv(a, b) {
2704 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2705 return false;
2706 // an identical 'prototype' property.
2707 if (a.prototype !== b.prototype) return false;
2708 // if one is a primitive, the other must be same
2709 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2710 return a === b;
3af2954a 2711 }
ab78acc6
IC
2712 var aIsArgs = isArguments(a),
2713 bIsArgs = isArguments(b);
2714 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2715 return false;
2716 if (aIsArgs) {
2717 a = pSlice.call(a);
2718 b = pSlice.call(b);
2719 return _deepEqual(a, b);
3af2954a 2720 }
ab78acc6
IC
2721 var ka = objectKeys(a),
2722 kb = objectKeys(b),
2723 key, i;
2724 // having the same number of owned properties (keys incorporates
2725 // hasOwnProperty)
2726 if (ka.length != kb.length)
2727 return false;
2728 //the same set of keys (although not necessarily the same order),
2729 ka.sort();
2730 kb.sort();
2731 //~~~cheap key test
2732 for (i = ka.length - 1; i >= 0; i--) {
2733 if (ka[i] != kb[i])
2734 return false;
3af2954a 2735 }
ab78acc6
IC
2736 //equivalent values for every corresponding key, and
2737 //~~~possibly expensive deep test
2738 for (i = ka.length - 1; i >= 0; i--) {
2739 key = ka[i];
2740 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2741 }
ab78acc6
IC
2742 return true;
2743}
2744
2745// 8. The non-equivalence assertion tests for any deep inequality.
2746// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2747
ab78acc6
IC
2748assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2749 if (_deepEqual(actual, expected)) {
2750 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2751 }
ab78acc6 2752};
3af2954a 2753
ab78acc6
IC
2754// 9. The strict equality assertion tests strict equality, as determined by ===.
2755// assert.strictEqual(actual, expected, message_opt);
3af2954a 2756
ab78acc6
IC
2757assert.strictEqual = function strictEqual(actual, expected, message) {
2758 if (actual !== expected) {
2759 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2760 }
ab78acc6 2761};
3af2954a 2762
ab78acc6
IC
2763// 10. The strict non-equality assertion tests for strict inequality, as
2764// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2765
ab78acc6
IC
2766assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2767 if (actual === expected) {
2768 fail(actual, expected, message, '!==', assert.notStrictEqual);
2769 }
2770};
3af2954a 2771
ab78acc6
IC
2772function expectedException(actual, expected) {
2773 if (!actual || !expected) {
2774 return false;
2775 }
3af2954a 2776
ab78acc6
IC
2777 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2778 return expected.test(actual);
2779 } else if (actual instanceof expected) {
2780 return true;
2781 } else if (expected.call({}, actual) === true) {
2782 return true;
3af2954a
IC
2783 }
2784
ab78acc6
IC
2785 return false;
2786}
3af2954a 2787
ab78acc6
IC
2788function _throws(shouldThrow, block, expected, message) {
2789 var actual;
3af2954a 2790
ab78acc6
IC
2791 if (util.isString(expected)) {
2792 message = expected;
2793 expected = null;
3af2954a
IC
2794 }
2795
ab78acc6
IC
2796 try {
2797 block();
2798 } catch (e) {
2799 actual = e;
3af2954a
IC
2800 }
2801
ab78acc6
IC
2802 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2803 (message ? ' ' + message : '.');
3af2954a 2804
ab78acc6
IC
2805 if (shouldThrow && !actual) {
2806 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2807 }
2808
ab78acc6
IC
2809 if (!shouldThrow && expectedException(actual, expected)) {
2810 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2811 }
2812
ab78acc6
IC
2813 if ((shouldThrow && actual && expected &&
2814 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2815 throw actual;
3af2954a 2816 }
ab78acc6 2817}
3af2954a 2818
ab78acc6
IC
2819// 11. Expected to throw an error:
2820// assert.throws(block, Error_opt, message_opt);
3af2954a 2821
ab78acc6
IC
2822assert.throws = function(block, /*optional*/error, /*optional*/message) {
2823 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2824};
3af2954a 2825
ab78acc6
IC
2826// EXTENSION! This is annoying to write outside this module.
2827assert.doesNotThrow = function(block, /*optional*/message) {
2828 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2829};
3af2954a 2830
ab78acc6 2831assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2832
ab78acc6
IC
2833var objectKeys = Object.keys || function (obj) {
2834 var keys = [];
2835 for (var key in obj) {
2836 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2837 }
ab78acc6
IC
2838 return keys;
2839};
3af2954a 2840
ab78acc6 2841},{"util/":29}],6:[function(require,module,exports){
3af2954a 2842
ab78acc6
IC
2843},{}],7:[function(require,module,exports){
2844/*!
2845 * The buffer module from node.js, for the browser.
2846 *
2847 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2848 * @license MIT
2849 */
3af2954a 2850
ab78acc6
IC
2851var base64 = require('base64-js')
2852var ieee754 = require('ieee754')
2853var isArray = require('is-array')
3af2954a 2854
ab78acc6
IC
2855exports.Buffer = Buffer
2856exports.SlowBuffer = SlowBuffer
2857exports.INSPECT_MAX_BYTES = 50
2858Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2859
ab78acc6 2860var rootParent = {}
3af2954a 2861
ab78acc6
IC
2862/**
2863 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2864 * === true Use Uint8Array implementation (fastest)
2865 * === false Use Object implementation (most compatible, even IE6)
2866 *
2867 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2868 * Opera 11.6+, iOS 4.2+.
2869 *
2870 * Due to various browser bugs, sometimes the Object implementation will be used even
2871 * when the browser supports typed arrays.
2872 *
2873 * Note:
2874 *
2875 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
2876 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
2877 *
2878 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
2879 * on objects.
2880 *
2881 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
2882 *
2883 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
2884 * incorrect length in some situations.
3af2954a 2885
ab78acc6
IC
2886 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
2887 * get the Object implementation, which is slower but behaves correctly.
2888 */
2889Buffer.TYPED_ARRAY_SUPPORT = (function () {
2890 function Bar () {}
2891 try {
2892 var arr = new Uint8Array(1)
2893 arr.foo = function () { return 42 }
2894 arr.constructor = Bar
2895 return arr.foo() === 42 && // typed array instances can be augmented
2896 arr.constructor === Bar && // constructor can be set
2897 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
2898 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
2899 } catch (e) {
2900 return false
2901 }
2902})()
3af2954a 2903
ab78acc6
IC
2904function kMaxLength () {
2905 return Buffer.TYPED_ARRAY_SUPPORT
2906 ? 0x7fffffff
2907 : 0x3fffffff
2908}
3af2954a 2909
ab78acc6
IC
2910/**
2911 * Class: Buffer
2912 * =============
2913 *
2914 * The Buffer constructor returns instances of `Uint8Array` that are augmented
2915 * with function properties for all the node `Buffer` API functions. We use
2916 * `Uint8Array` so that square bracket notation works as expected -- it returns
2917 * a single octet.
2918 *
2919 * By augmenting the instances, we can avoid modifying the `Uint8Array`
2920 * prototype.
2921 */
2922function Buffer (arg) {
2923 if (!(this instanceof Buffer)) {
2924 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
2925 if (arguments.length > 1) return new Buffer(arg, arguments[1])
2926 return new Buffer(arg)
3af2954a
IC
2927 }
2928
ab78acc6
IC
2929 this.length = 0
2930 this.parent = undefined
3af2954a 2931
ab78acc6
IC
2932 // Common case.
2933 if (typeof arg === 'number') {
2934 return fromNumber(this, arg)
2935 }
3af2954a 2936
ab78acc6
IC
2937 // Slightly less common case.
2938 if (typeof arg === 'string') {
2939 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
2940 }
3af2954a 2941
ab78acc6
IC
2942 // Unusual.
2943 return fromObject(this, arg)
2944}
3af2954a 2945
ab78acc6
IC
2946function fromNumber (that, length) {
2947 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
2948 if (!Buffer.TYPED_ARRAY_SUPPORT) {
2949 for (var i = 0; i < length; i++) {
2950 that[i] = 0
2951 }
3af2954a 2952 }
ab78acc6
IC
2953 return that
2954}
3af2954a 2955
ab78acc6
IC
2956function fromString (that, string, encoding) {
2957 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 2958
ab78acc6
IC
2959 // Assumption: byteLength() return value is always < kMaxLength.
2960 var length = byteLength(string, encoding) | 0
2961 that = allocate(that, length)
3af2954a 2962
ab78acc6
IC
2963 that.write(string, encoding)
2964 return that
2965}
3af2954a 2966
ab78acc6
IC
2967function fromObject (that, object) {
2968 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 2969
ab78acc6 2970 if (isArray(object)) return fromArray(that, object)
3af2954a 2971
ab78acc6
IC
2972 if (object == null) {
2973 throw new TypeError('must start with number, buffer, array or string')
2974 }
3af2954a 2975
ab78acc6
IC
2976 if (typeof ArrayBuffer !== 'undefined') {
2977 if (object.buffer instanceof ArrayBuffer) {
2978 return fromTypedArray(that, object)
2979 }
2980 if (object instanceof ArrayBuffer) {
2981 return fromArrayBuffer(that, object)
2982 }
3af2954a
IC
2983 }
2984
ab78acc6 2985 if (object.length) return fromArrayLike(that, object)
3af2954a 2986
ab78acc6
IC
2987 return fromJsonObject(that, object)
2988}
3af2954a 2989
ab78acc6
IC
2990function fromBuffer (that, buffer) {
2991 var length = checked(buffer.length) | 0
2992 that = allocate(that, length)
2993 buffer.copy(that, 0, 0, length)
2994 return that
2995}
3af2954a 2996
ab78acc6
IC
2997function fromArray (that, array) {
2998 var length = checked(array.length) | 0
2999 that = allocate(that, length)
3000 for (var i = 0; i < length; i += 1) {
3001 that[i] = array[i] & 255
3af2954a 3002 }
ab78acc6
IC
3003 return that
3004}
3af2954a 3005
ab78acc6
IC
3006// Duplicate of fromArray() to keep fromArray() monomorphic.
3007function fromTypedArray (that, array) {
3008 var length = checked(array.length) | 0
3009 that = allocate(that, length)
3010 // Truncating the elements is probably not what people expect from typed
3011 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3012 // of the old Buffer constructor.
3013 for (var i = 0; i < length; i += 1) {
3014 that[i] = array[i] & 255
3af2954a 3015 }
ab78acc6
IC
3016 return that
3017}
3af2954a 3018
ab78acc6
IC
3019function fromArrayBuffer (that, array) {
3020 if (Buffer.TYPED_ARRAY_SUPPORT) {
3021 // Return an augmented `Uint8Array` instance, for best performance
3022 array.byteLength
3023 that = Buffer._augment(new Uint8Array(array))
3024 } else {
3025 // Fallback: Return an object instance of the Buffer class
3026 that = fromTypedArray(that, new Uint8Array(array))
3027 }
3028 return that
3029}
3af2954a 3030
ab78acc6
IC
3031function fromArrayLike (that, array) {
3032 var length = checked(array.length) | 0
3033 that = allocate(that, length)
3034 for (var i = 0; i < length; i += 1) {
3035 that[i] = array[i] & 255
3af2954a 3036 }
ab78acc6
IC
3037 return that
3038}
3af2954a 3039
ab78acc6
IC
3040// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3041// Returns a zero-length buffer for inputs that don't conform to the spec.
3042function fromJsonObject (that, object) {
3043 var array
3044 var length = 0
3045
3046 if (object.type === 'Buffer' && isArray(object.data)) {
3047 array = object.data
3048 length = checked(array.length) | 0
3af2954a 3049 }
ab78acc6 3050 that = allocate(that, length)
3af2954a 3051
ab78acc6
IC
3052 for (var i = 0; i < length; i += 1) {
3053 that[i] = array[i] & 255
3af2954a 3054 }
ab78acc6
IC
3055 return that
3056}
3af2954a 3057
ab78acc6
IC
3058function allocate (that, length) {
3059 if (Buffer.TYPED_ARRAY_SUPPORT) {
3060 // Return an augmented `Uint8Array` instance, for best performance
3061 that = Buffer._augment(new Uint8Array(length))
3062 } else {
3063 // Fallback: Return an object instance of the Buffer class
3064 that.length = length
3065 that._isBuffer = true
3066 }
3af2954a 3067
ab78acc6
IC
3068 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3069 if (fromPool) that.parent = rootParent
3af2954a 3070
ab78acc6
IC
3071 return that
3072}
3af2954a 3073
ab78acc6
IC
3074function checked (length) {
3075 // Note: cannot use `length < kMaxLength` here because that fails when
3076 // length is NaN (which is otherwise coerced to zero.)
3077 if (length >= kMaxLength()) {
3078 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3079 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3080 }
ab78acc6
IC
3081 return length | 0
3082}
3af2954a 3083
ab78acc6
IC
3084function SlowBuffer (subject, encoding) {
3085 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3086
ab78acc6
IC
3087 var buf = new Buffer(subject, encoding)
3088 delete buf.parent
3089 return buf
3090}
3af2954a 3091
ab78acc6
IC
3092Buffer.isBuffer = function isBuffer (b) {
3093 return !!(b != null && b._isBuffer)
3094}
3af2954a 3095
ab78acc6
IC
3096Buffer.compare = function compare (a, b) {
3097 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3098 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3099 }
3100
ab78acc6 3101 if (a === b) return 0
3af2954a 3102
ab78acc6
IC
3103 var x = a.length
3104 var y = b.length
3af2954a 3105
ab78acc6
IC
3106 var i = 0
3107 var len = Math.min(x, y)
3108 while (i < len) {
3109 if (a[i] !== b[i]) break
3af2954a 3110
ab78acc6
IC
3111 ++i
3112 }
3af2954a 3113
ab78acc6
IC
3114 if (i !== len) {
3115 x = a[i]
3116 y = b[i]
3117 }
3af2954a 3118
ab78acc6
IC
3119 if (x < y) return -1
3120 if (y < x) return 1
3121 return 0
3122}
3af2954a 3123
ab78acc6
IC
3124Buffer.isEncoding = function isEncoding (encoding) {
3125 switch (String(encoding).toLowerCase()) {
3126 case 'hex':
3127 case 'utf8':
3128 case 'utf-8':
3129 case 'ascii':
3130 case 'binary':
3131 case 'base64':
3132 case 'raw':
3133 case 'ucs2':
3134 case 'ucs-2':
3135 case 'utf16le':
3136 case 'utf-16le':
3137 return true
3138 default:
3139 return false
3af2954a 3140 }
ab78acc6 3141}
3af2954a 3142
ab78acc6
IC
3143Buffer.concat = function concat (list, length) {
3144 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3145
ab78acc6
IC
3146 if (list.length === 0) {
3147 return new Buffer(0)
3af2954a
IC
3148 }
3149
ab78acc6
IC
3150 var i
3151 if (length === undefined) {
3152 length = 0
3153 for (i = 0; i < list.length; i++) {
3154 length += list[i].length
3155 }
3af2954a
IC
3156 }
3157
ab78acc6
IC
3158 var buf = new Buffer(length)
3159 var pos = 0
3160 for (i = 0; i < list.length; i++) {
3161 var item = list[i]
3162 item.copy(buf, pos)
3163 pos += item.length
3164 }
3165 return buf
3166}
3af2954a 3167
ab78acc6
IC
3168function byteLength (string, encoding) {
3169 if (typeof string !== 'string') string = '' + string
3170
3171 var len = string.length
3172 if (len === 0) return 0
3173
3174 // Use a for loop to avoid recursion
3175 var loweredCase = false
3176 for (;;) {
3177 switch (encoding) {
3178 case 'ascii':
3179 case 'binary':
3180 // Deprecated
3181 case 'raw':
3182 case 'raws':
3183 return len
3184 case 'utf8':
3185 case 'utf-8':
3186 return utf8ToBytes(string).length
3187 case 'ucs2':
3188 case 'ucs-2':
3189 case 'utf16le':
3190 case 'utf-16le':
3191 return len * 2
3192 case 'hex':
3193 return len >>> 1
3194 case 'base64':
3195 return base64ToBytes(string).length
3196 default:
3197 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3198 encoding = ('' + encoding).toLowerCase()
3199 loweredCase = true
3af2954a 3200 }
3af2954a 3201 }
ab78acc6
IC
3202}
3203Buffer.byteLength = byteLength
3af2954a 3204
ab78acc6
IC
3205// pre-set for values that may exist in the future
3206Buffer.prototype.length = undefined
3207Buffer.prototype.parent = undefined
3af2954a 3208
ab78acc6
IC
3209function slowToString (encoding, start, end) {
3210 var loweredCase = false
3af2954a 3211
ab78acc6
IC
3212 start = start | 0
3213 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3214
ab78acc6
IC
3215 if (!encoding) encoding = 'utf8'
3216 if (start < 0) start = 0
3217 if (end > this.length) end = this.length
3218 if (end <= start) return ''
3af2954a 3219
ab78acc6
IC
3220 while (true) {
3221 switch (encoding) {
3222 case 'hex':
3223 return hexSlice(this, start, end)
3af2954a 3224
ab78acc6
IC
3225 case 'utf8':
3226 case 'utf-8':
3227 return utf8Slice(this, start, end)
3af2954a 3228
ab78acc6
IC
3229 case 'ascii':
3230 return asciiSlice(this, start, end)
3af2954a 3231
ab78acc6
IC
3232 case 'binary':
3233 return binarySlice(this, start, end)
3af2954a 3234
ab78acc6
IC
3235 case 'base64':
3236 return base64Slice(this, start, end)
3af2954a 3237
ab78acc6
IC
3238 case 'ucs2':
3239 case 'ucs-2':
3240 case 'utf16le':
3241 case 'utf-16le':
3242 return utf16leSlice(this, start, end)
3af2954a 3243
ab78acc6
IC
3244 default:
3245 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3246 encoding = (encoding + '').toLowerCase()
3247 loweredCase = true
3248 }
3af2954a 3249 }
ab78acc6 3250}
3af2954a 3251
ab78acc6
IC
3252Buffer.prototype.toString = function toString () {
3253 var length = this.length | 0
3254 if (length === 0) return ''
3255 if (arguments.length === 0) return utf8Slice(this, 0, length)
3256 return slowToString.apply(this, arguments)
3257}
3af2954a 3258
ab78acc6
IC
3259Buffer.prototype.equals = function equals (b) {
3260 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3261 if (this === b) return true
3262 return Buffer.compare(this, b) === 0
3263}
3af2954a 3264
ab78acc6
IC
3265Buffer.prototype.inspect = function inspect () {
3266 var str = ''
3267 var max = exports.INSPECT_MAX_BYTES
3268 if (this.length > 0) {
3269 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3270 if (this.length > max) str += ' ... '
3af2954a 3271 }
ab78acc6
IC
3272 return '<Buffer ' + str + '>'
3273}
3af2954a 3274
ab78acc6
IC
3275Buffer.prototype.compare = function compare (b) {
3276 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3277 if (this === b) return 0
3278 return Buffer.compare(this, b)
3279}
3af2954a 3280
ab78acc6
IC
3281Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3282 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3283 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3284 byteOffset >>= 0
3af2954a 3285
ab78acc6
IC
3286 if (this.length === 0) return -1
3287 if (byteOffset >= this.length) return -1
3af2954a 3288
ab78acc6
IC
3289 // Negative offsets start from the end of the buffer
3290 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3291
ab78acc6
IC
3292 if (typeof val === 'string') {
3293 if (val.length === 0) return -1 // special case: looking for empty string always fails
3294 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3295 }
ab78acc6
IC
3296 if (Buffer.isBuffer(val)) {
3297 return arrayIndexOf(this, val, byteOffset)
3af2954a 3298 }
ab78acc6
IC
3299 if (typeof val === 'number') {
3300 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3301 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3302 }
ab78acc6 3303 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3304 }
3305
ab78acc6
IC
3306 function arrayIndexOf (arr, val, byteOffset) {
3307 var foundIndex = -1
3308 for (var i = 0; byteOffset + i < arr.length; i++) {
3309 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3310 if (foundIndex === -1) foundIndex = i
3311 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3312 } else {
ab78acc6 3313 foundIndex = -1
3af2954a 3314 }
3af2954a 3315 }
ab78acc6
IC
3316 return -1
3317 }
3af2954a 3318
ab78acc6
IC
3319 throw new TypeError('val must be string, number or Buffer')
3320}
3af2954a 3321
ab78acc6
IC
3322// `get` is deprecated
3323Buffer.prototype.get = function get (offset) {
3324 console.log('.get() is deprecated. Access using array indexes instead.')
3325 return this.readUInt8(offset)
3326}
3af2954a 3327
ab78acc6
IC
3328// `set` is deprecated
3329Buffer.prototype.set = function set (v, offset) {
3330 console.log('.set() is deprecated. Access using array indexes instead.')
3331 return this.writeUInt8(v, offset)
3332}
3af2954a 3333
ab78acc6
IC
3334function hexWrite (buf, string, offset, length) {
3335 offset = Number(offset) || 0
3336 var remaining = buf.length - offset
3337 if (!length) {
3338 length = remaining
3339 } else {
3340 length = Number(length)
3341 if (length > remaining) {
3342 length = remaining
3343 }
3344 }
3af2954a 3345
ab78acc6
IC
3346 // must be an even number of digits
3347 var strLen = string.length
3348 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3349
ab78acc6
IC
3350 if (length > strLen / 2) {
3351 length = strLen / 2
3352 }
3353 for (var i = 0; i < length; i++) {
3354 var parsed = parseInt(string.substr(i * 2, 2), 16)
3355 if (isNaN(parsed)) throw new Error('Invalid hex string')
3356 buf[offset + i] = parsed
3af2954a 3357 }
ab78acc6
IC
3358 return i
3359}
3360
3361function utf8Write (buf, string, offset, length) {
3362 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3363}
3af2954a 3364
ab78acc6
IC
3365function asciiWrite (buf, string, offset, length) {
3366 return blitBuffer(asciiToBytes(string), buf, offset, length)
3367}
3af2954a 3368
ab78acc6
IC
3369function binaryWrite (buf, string, offset, length) {
3370 return asciiWrite(buf, string, offset, length)
3371}
3af2954a 3372
ab78acc6
IC
3373function base64Write (buf, string, offset, length) {
3374 return blitBuffer(base64ToBytes(string), buf, offset, length)
3375}
3af2954a 3376
ab78acc6
IC
3377function ucs2Write (buf, string, offset, length) {
3378 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3379}
3af2954a 3380
ab78acc6
IC
3381Buffer.prototype.write = function write (string, offset, length, encoding) {
3382 // Buffer#write(string)
3383 if (offset === undefined) {
3384 encoding = 'utf8'
3385 length = this.length
3386 offset = 0
3387 // Buffer#write(string, encoding)
3388 } else if (length === undefined && typeof offset === 'string') {
3389 encoding = offset
3390 length = this.length
3391 offset = 0
3392 // Buffer#write(string, offset[, length][, encoding])
3393 } else if (isFinite(offset)) {
3394 offset = offset | 0
3395 if (isFinite(length)) {
3396 length = length | 0
3397 if (encoding === undefined) encoding = 'utf8'
3398 } else {
3399 encoding = length
3400 length = undefined
3401 }
3402 // legacy write(string, encoding, offset, length) - remove in v0.13
3403 } else {
3404 var swap = encoding
3405 encoding = offset
3406 offset = length | 0
3407 length = swap
3af2954a
IC
3408 }
3409
ab78acc6
IC
3410 var remaining = this.length - offset
3411 if (length === undefined || length > remaining) length = remaining
3af2954a 3412
ab78acc6
IC
3413 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3414 throw new RangeError('attempt to write outside buffer bounds')
3415 }
3af2954a 3416
ab78acc6 3417 if (!encoding) encoding = 'utf8'
3af2954a 3418
ab78acc6
IC
3419 var loweredCase = false
3420 for (;;) {
3421 switch (encoding) {
3422 case 'hex':
3423 return hexWrite(this, string, offset, length)
ebd8d4e8 3424
ab78acc6
IC
3425 case 'utf8':
3426 case 'utf-8':
3427 return utf8Write(this, string, offset, length)
ebd8d4e8 3428
ab78acc6
IC
3429 case 'ascii':
3430 return asciiWrite(this, string, offset, length)
ebd8d4e8 3431
ab78acc6
IC
3432 case 'binary':
3433 return binaryWrite(this, string, offset, length)
ebd8d4e8 3434
ab78acc6
IC
3435 case 'base64':
3436 // Warning: maxLength not taken into account in base64Write
3437 return base64Write(this, string, offset, length)
ebd8d4e8 3438
ab78acc6
IC
3439 case 'ucs2':
3440 case 'ucs-2':
3441 case 'utf16le':
3442 case 'utf-16le':
3443 return ucs2Write(this, string, offset, length)
ebd8d4e8 3444
ab78acc6
IC
3445 default:
3446 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3447 encoding = ('' + encoding).toLowerCase()
3448 loweredCase = true
3449 }
3450 }
3451}
212b1b46 3452
ab78acc6
IC
3453Buffer.prototype.toJSON = function toJSON () {
3454 return {
3455 type: 'Buffer',
3456 data: Array.prototype.slice.call(this._arr || this, 0)
3457 }
3458}
212b1b46 3459
ab78acc6
IC
3460function base64Slice (buf, start, end) {
3461 if (start === 0 && end === buf.length) {
3462 return base64.fromByteArray(buf)
3463 } else {
3464 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3465 }
ab78acc6
IC
3466}
3467
3468function utf8Slice (buf, start, end) {
3469 end = Math.min(buf.length, end)
3470 var firstByte
3471 var secondByte
3472 var thirdByte
3473 var fourthByte
3474 var bytesPerSequence
3475 var tempCodePoint
3476 var codePoint
3477 var res = []
3478 var i = start
3479
3480 for (; i < end; i += bytesPerSequence) {
3481 firstByte = buf[i]
3482 codePoint = 0xFFFD
3483
3484 if (firstByte > 0xEF) {
3485 bytesPerSequence = 4
3486 } else if (firstByte > 0xDF) {
3487 bytesPerSequence = 3
3488 } else if (firstByte > 0xBF) {
3489 bytesPerSequence = 2
3490 } else {
3491 bytesPerSequence = 1
3492 }
212b1b46 3493
ab78acc6
IC
3494 if (i + bytesPerSequence <= end) {
3495 switch (bytesPerSequence) {
3496 case 1:
3497 if (firstByte < 0x80) {
3498 codePoint = firstByte
3499 }
3500 break
3501 case 2:
3502 secondByte = buf[i + 1]
3503 if ((secondByte & 0xC0) === 0x80) {
3504 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3505 if (tempCodePoint > 0x7F) {
3506 codePoint = tempCodePoint
3507 }
3508 }
3509 break
3510 case 3:
3511 secondByte = buf[i + 1]
3512 thirdByte = buf[i + 2]
3513 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3514 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3515 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3516 codePoint = tempCodePoint
3517 }
3518 }
3519 break
3520 case 4:
3521 secondByte = buf[i + 1]
3522 thirdByte = buf[i + 2]
3523 fourthByte = buf[i + 3]
3524 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3525 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3526 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3527 codePoint = tempCodePoint
3528 }
3529 }
3530 }
3531 }
212b1b46 3532
ab78acc6
IC
3533 if (codePoint === 0xFFFD) {
3534 // we generated an invalid codePoint so make sure to only advance by 1 byte
3535 bytesPerSequence = 1
3536 } else if (codePoint > 0xFFFF) {
3537 // encode to utf16 (surrogate pair dance)
3538 codePoint -= 0x10000
3539 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3540 codePoint = 0xDC00 | codePoint & 0x3FF
3541 }
212b1b46 3542
ab78acc6 3543 res.push(codePoint)
3af2954a 3544 }
212b1b46 3545
ab78acc6
IC
3546 return String.fromCharCode.apply(String, res)
3547}
212b1b46 3548
ab78acc6
IC
3549function asciiSlice (buf, start, end) {
3550 var ret = ''
3551 end = Math.min(buf.length, end)
3552
3553 for (var i = start; i < end; i++) {
3554 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3555 }
ab78acc6
IC
3556 return ret
3557}
212b1b46 3558
ab78acc6
IC
3559function binarySlice (buf, start, end) {
3560 var ret = ''
3561 end = Math.min(buf.length, end)
212b1b46 3562
ab78acc6
IC
3563 for (var i = start; i < end; i++) {
3564 ret += String.fromCharCode(buf[i])
3565 }
3566 return ret
3567}
212b1b46 3568
ab78acc6
IC
3569function hexSlice (buf, start, end) {
3570 var len = buf.length
212b1b46 3571
ab78acc6
IC
3572 if (!start || start < 0) start = 0
3573 if (!end || end < 0 || end > len) end = len
212b1b46 3574
ab78acc6
IC
3575 var out = ''
3576 for (var i = start; i < end; i++) {
3577 out += toHex(buf[i])
3578 }
3579 return out
3580}
212b1b46 3581
ab78acc6
IC
3582function utf16leSlice (buf, start, end) {
3583 var bytes = buf.slice(start, end)
3584 var res = ''
3585 for (var i = 0; i < bytes.length; i += 2) {
3586 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3587 }
3588 return res
3589}
212b1b46 3590
ab78acc6
IC
3591Buffer.prototype.slice = function slice (start, end) {
3592 var len = this.length
3593 start = ~~start
3594 end = end === undefined ? len : ~~end
212b1b46 3595
ab78acc6
IC
3596 if (start < 0) {
3597 start += len
3598 if (start < 0) start = 0
3599 } else if (start > len) {
3600 start = len
3601 }
212b1b46 3602
ab78acc6
IC
3603 if (end < 0) {
3604 end += len
3605 if (end < 0) end = 0
3606 } else if (end > len) {
3607 end = len
3608 }
212b1b46 3609
ab78acc6 3610 if (end < start) end = start
212b1b46 3611
ab78acc6
IC
3612 var newBuf
3613 if (Buffer.TYPED_ARRAY_SUPPORT) {
3614 newBuf = Buffer._augment(this.subarray(start, end))
3615 } else {
3616 var sliceLen = end - start
3617 newBuf = new Buffer(sliceLen, undefined)
3618 for (var i = 0; i < sliceLen; i++) {
3619 newBuf[i] = this[i + start]
3af2954a
IC
3620 }
3621 }
212b1b46 3622
ab78acc6 3623 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3624
ab78acc6
IC
3625 return newBuf
3626}
ebd8d4e8 3627
ab78acc6
IC
3628/*
3629 * Need to make sure that buffer isn't trying to write out of bounds.
3630 */
3631function checkOffset (offset, ext, length) {
3632 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3633 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3634}
ebd8d4e8 3635
ab78acc6
IC
3636Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3637 offset = offset | 0
3638 byteLength = byteLength | 0
3639 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3640
ab78acc6
IC
3641 var val = this[offset]
3642 var mul = 1
3643 var i = 0
3644 while (++i < byteLength && (mul *= 0x100)) {
3645 val += this[offset + i] * mul
3646 }
3af2954a 3647
ab78acc6
IC
3648 return val
3649}
3af2954a 3650
ab78acc6
IC
3651Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3652 offset = offset | 0
3653 byteLength = byteLength | 0
3654 if (!noAssert) {
3655 checkOffset(offset, byteLength, this.length)
3656 }
3af2954a 3657
ab78acc6
IC
3658 var val = this[offset + --byteLength]
3659 var mul = 1
3660 while (byteLength > 0 && (mul *= 0x100)) {
3661 val += this[offset + --byteLength] * mul
3af2954a
IC
3662 }
3663
ab78acc6
IC
3664 return val
3665}
3af2954a 3666
ab78acc6
IC
3667Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3668 if (!noAssert) checkOffset(offset, 1, this.length)
3669 return this[offset]
3670}
3af2954a 3671
ab78acc6
IC
3672Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3673 if (!noAssert) checkOffset(offset, 2, this.length)
3674 return this[offset] | (this[offset + 1] << 8)
3675}
3af2954a 3676
ab78acc6
IC
3677Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3678 if (!noAssert) checkOffset(offset, 2, this.length)
3679 return (this[offset] << 8) | this[offset + 1]
3680}
ebd8d4e8 3681
ab78acc6
IC
3682Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3683 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3684
ab78acc6
IC
3685 return ((this[offset]) |
3686 (this[offset + 1] << 8) |
3687 (this[offset + 2] << 16)) +
3688 (this[offset + 3] * 0x1000000)
3689}
3af2954a 3690
ab78acc6
IC
3691Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3692 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3693
ab78acc6
IC
3694 return (this[offset] * 0x1000000) +
3695 ((this[offset + 1] << 16) |
3696 (this[offset + 2] << 8) |
3697 this[offset + 3])
3698}
ebd8d4e8 3699
ab78acc6
IC
3700Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3701 offset = offset | 0
3702 byteLength = byteLength | 0
3703 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3704
ab78acc6
IC
3705 var val = this[offset]
3706 var mul = 1
3707 var i = 0
3708 while (++i < byteLength && (mul *= 0x100)) {
3709 val += this[offset + i] * mul
ebd8d4e8 3710 }
ab78acc6 3711 mul *= 0x80
ebd8d4e8 3712
ab78acc6
IC
3713 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3714
3715 return val
ebd8d4e8
IC
3716}
3717
ab78acc6
IC
3718Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3719 offset = offset | 0
3720 byteLength = byteLength | 0
3721 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3722
ab78acc6
IC
3723 var i = byteLength
3724 var mul = 1
3725 var val = this[offset + --i]
3726 while (i > 0 && (mul *= 0x100)) {
3727 val += this[offset + --i] * mul
3728 }
3729 mul *= 0x80
ebd8d4e8 3730
ab78acc6 3731 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3732
ab78acc6
IC
3733 return val
3734}
ebd8d4e8 3735
ab78acc6
IC
3736Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3737 if (!noAssert) checkOffset(offset, 1, this.length)
3738 if (!(this[offset] & 0x80)) return (this[offset])
3739 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3740}
ab78acc6
IC
3741
3742Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3743 if (!noAssert) checkOffset(offset, 2, this.length)
3744 var val = this[offset] | (this[offset + 1] << 8)
3745 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3746}
ab78acc6
IC
3747
3748Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3749 if (!noAssert) checkOffset(offset, 2, this.length)
3750 var val = this[offset + 1] | (this[offset] << 8)
3751 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3752}
3753
ab78acc6
IC
3754Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3755 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3756
ab78acc6
IC
3757 return (this[offset]) |
3758 (this[offset + 1] << 8) |
3759 (this[offset + 2] << 16) |
3760 (this[offset + 3] << 24)
ebd8d4e8 3761}
ebd8d4e8 3762
ab78acc6
IC
3763Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3764 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3765
ab78acc6
IC
3766 return (this[offset] << 24) |
3767 (this[offset + 1] << 16) |
3768 (this[offset + 2] << 8) |
3769 (this[offset + 3])
ebd8d4e8
IC
3770}
3771
ab78acc6
IC
3772Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3773 if (!noAssert) checkOffset(offset, 4, this.length)
3774 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3775}
3776
ab78acc6
IC
3777Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3778 if (!noAssert) checkOffset(offset, 4, this.length)
3779 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3780}
3781
ab78acc6
IC
3782Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3783 if (!noAssert) checkOffset(offset, 8, this.length)
3784 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3785}
3786
ab78acc6
IC
3787Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3788 if (!noAssert) checkOffset(offset, 8, this.length)
3789 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3790}
3791
ab78acc6
IC
3792function checkInt (buf, value, offset, ext, max, min) {
3793 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3794 if (value > max || value < min) throw new RangeError('value is out of bounds')
3795 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3796}
3797
ab78acc6
IC
3798Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3799 value = +value
3800 offset = offset | 0
3801 byteLength = byteLength | 0
3802 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3803
ab78acc6
IC
3804 var mul = 1
3805 var i = 0
3806 this[offset] = value & 0xFF
3807 while (++i < byteLength && (mul *= 0x100)) {
3808 this[offset + i] = (value / mul) & 0xFF
3809 }
ebd8d4e8 3810
ab78acc6 3811 return offset + byteLength
ebd8d4e8
IC
3812}
3813
ab78acc6
IC
3814Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3815 value = +value
3816 offset = offset | 0
3817 byteLength = byteLength | 0
3818 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3819
ab78acc6
IC
3820 var i = byteLength - 1
3821 var mul = 1
3822 this[offset + i] = value & 0xFF
3823 while (--i >= 0 && (mul *= 0x100)) {
3824 this[offset + i] = (value / mul) & 0xFF
3825 }
ebd8d4e8 3826
ab78acc6 3827 return offset + byteLength
ebd8d4e8
IC
3828}
3829
ab78acc6
IC
3830Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3831 value = +value
3832 offset = offset | 0
3833 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3834 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3835 this[offset] = value
3836 return offset + 1
ebd8d4e8
IC
3837}
3838
ab78acc6
IC
3839function objectWriteUInt16 (buf, value, offset, littleEndian) {
3840 if (value < 0) value = 0xffff + value + 1
3841 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3842 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3843 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3844 }
ebd8d4e8
IC
3845}
3846
ab78acc6
IC
3847Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3848 value = +value
3849 offset = offset | 0
3850 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3851 if (Buffer.TYPED_ARRAY_SUPPORT) {
3852 this[offset] = value
3853 this[offset + 1] = (value >>> 8)
3854 } else {
3855 objectWriteUInt16(this, value, offset, true)
3856 }
3857 return offset + 2
ebd8d4e8
IC
3858}
3859
ab78acc6
IC
3860Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3861 value = +value
3862 offset = offset | 0
3863 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3864 if (Buffer.TYPED_ARRAY_SUPPORT) {
3865 this[offset] = (value >>> 8)
3866 this[offset + 1] = value
3867 } else {
3868 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3869 }
ab78acc6 3870 return offset + 2
ebd8d4e8
IC
3871}
3872
ab78acc6
IC
3873function objectWriteUInt32 (buf, value, offset, littleEndian) {
3874 if (value < 0) value = 0xffffffff + value + 1
3875 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
3876 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
3877 }
ebd8d4e8
IC
3878}
3879
ab78acc6
IC
3880Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
3881 value = +value
3882 offset = offset | 0
3883 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3884 if (Buffer.TYPED_ARRAY_SUPPORT) {
3885 this[offset + 3] = (value >>> 24)
3886 this[offset + 2] = (value >>> 16)
3887 this[offset + 1] = (value >>> 8)
3888 this[offset] = value
3889 } else {
3890 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 3891 }
ab78acc6 3892 return offset + 4
ebd8d4e8
IC
3893}
3894
ab78acc6
IC
3895Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
3896 value = +value
3897 offset = offset | 0
3898 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3899 if (Buffer.TYPED_ARRAY_SUPPORT) {
3900 this[offset] = (value >>> 24)
3901 this[offset + 1] = (value >>> 16)
3902 this[offset + 2] = (value >>> 8)
3903 this[offset + 3] = value
3904 } else {
3905 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 3906 }
ab78acc6
IC
3907 return offset + 4
3908}
3909
3910Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
3911 value = +value
3912 offset = offset | 0
3913 if (!noAssert) {
3914 var limit = Math.pow(2, 8 * byteLength - 1)
3915
3916 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 3917 }
ab78acc6
IC
3918
3919 var i = 0
3920 var mul = 1
3921 var sub = value < 0 ? 1 : 0
3922 this[offset] = value & 0xFF
3923 while (++i < byteLength && (mul *= 0x100)) {
3924 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 3925 }
ebd8d4e8 3926
ab78acc6 3927 return offset + byteLength
ebd8d4e8
IC
3928}
3929
ab78acc6
IC
3930Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
3931 value = +value
3932 offset = offset | 0
3933 if (!noAssert) {
3934 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 3935
ab78acc6
IC
3936 checkInt(this, value, offset, byteLength, limit - 1, -limit)
3937 }
ebd8d4e8 3938
ab78acc6
IC
3939 var i = byteLength - 1
3940 var mul = 1
3941 var sub = value < 0 ? 1 : 0
3942 this[offset + i] = value & 0xFF
3943 while (--i >= 0 && (mul *= 0x100)) {
3944 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
3945 }
3946
3947 return offset + byteLength
ebd8d4e8
IC
3948}
3949
ab78acc6
IC
3950Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
3951 value = +value
3952 offset = offset | 0
3953 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
3954 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3955 if (value < 0) value = 0xff + value + 1
3956 this[offset] = value
3957 return offset + 1
ebd8d4e8
IC
3958}
3959
ab78acc6
IC
3960Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
3961 value = +value
3962 offset = offset | 0
3963 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3964 if (Buffer.TYPED_ARRAY_SUPPORT) {
3965 this[offset] = value
3966 this[offset + 1] = (value >>> 8)
3967 } else {
3968 objectWriteUInt16(this, value, offset, true)
3969 }
3970 return offset + 2
ebd8d4e8
IC
3971}
3972
ab78acc6
IC
3973Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
3974 value = +value
3975 offset = offset | 0
3976 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3977 if (Buffer.TYPED_ARRAY_SUPPORT) {
3978 this[offset] = (value >>> 8)
3979 this[offset + 1] = value
3980 } else {
3981 objectWriteUInt16(this, value, offset, false)
3982 }
3983 return offset + 2
ebd8d4e8
IC
3984}
3985
ab78acc6
IC
3986Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
3987 value = +value
3988 offset = offset | 0
3989 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
3990 if (Buffer.TYPED_ARRAY_SUPPORT) {
3991 this[offset] = value
3992 this[offset + 1] = (value >>> 8)
3993 this[offset + 2] = (value >>> 16)
3994 this[offset + 3] = (value >>> 24)
3995 } else {
3996 objectWriteUInt32(this, value, offset, true)
3997 }
3998 return offset + 4
3999}
4000
4001Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4002 value = +value
4003 offset = offset | 0
4004 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4005 if (value < 0) value = 0xffffffff + value + 1
4006 if (Buffer.TYPED_ARRAY_SUPPORT) {
4007 this[offset] = (value >>> 24)
4008 this[offset + 1] = (value >>> 16)
4009 this[offset + 2] = (value >>> 8)
4010 this[offset + 3] = value
4011 } else {
4012 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4013 }
ab78acc6 4014 return offset + 4
ebd8d4e8
IC
4015}
4016
ab78acc6
IC
4017function checkIEEE754 (buf, value, offset, ext, max, min) {
4018 if (value > max || value < min) throw new RangeError('value is out of bounds')
4019 if (offset + ext > buf.length) throw new RangeError('index out of range')
4020 if (offset < 0) throw new RangeError('index out of range')
4021}
ebd8d4e8 4022
ab78acc6
IC
4023function writeFloat (buf, value, offset, littleEndian, noAssert) {
4024 if (!noAssert) {
4025 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4026 }
4027 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4028 return offset + 4
4029}
ebd8d4e8 4030
ab78acc6
IC
4031Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4032 return writeFloat(this, value, offset, true, noAssert)
4033}
ebd8d4e8 4034
ab78acc6
IC
4035Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4036 return writeFloat(this, value, offset, false, noAssert)
4037}
ebd8d4e8 4038
ab78acc6
IC
4039function writeDouble (buf, value, offset, littleEndian, noAssert) {
4040 if (!noAssert) {
4041 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4042 }
ab78acc6
IC
4043 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4044 return offset + 8
ebd8d4e8
IC
4045}
4046
ab78acc6
IC
4047Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4048 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4049}
4050
ab78acc6
IC
4051Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4052 return writeDouble(this, value, offset, false, noAssert)
4053}
ebd8d4e8 4054
ab78acc6
IC
4055// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4056Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4057 if (!start) start = 0
4058 if (!end && end !== 0) end = this.length
4059 if (targetStart >= target.length) targetStart = target.length
4060 if (!targetStart) targetStart = 0
4061 if (end > 0 && end < start) end = start
4062
4063 // Copy 0 bytes; we're done
4064 if (end === start) return 0
4065 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4066
ab78acc6
IC
4067 // Fatal error conditions
4068 if (targetStart < 0) {
4069 throw new RangeError('targetStart out of bounds')
4070 }
4071 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4072 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4073
ab78acc6
IC
4074 // Are we oob?
4075 if (end > this.length) end = this.length
4076 if (target.length - targetStart < end - start) {
4077 end = target.length - targetStart + start
4078 }
ebd8d4e8 4079
ab78acc6
IC
4080 var len = end - start
4081 var i
ebd8d4e8 4082
ab78acc6
IC
4083 if (this === target && start < targetStart && targetStart < end) {
4084 // descending copy from end
4085 for (i = len - 1; i >= 0; i--) {
4086 target[i + targetStart] = this[i + start]
4087 }
4088 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4089 // ascending copy from start
4090 for (i = 0; i < len; i++) {
4091 target[i + targetStart] = this[i + start]
4092 }
4093 } else {
4094 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4095 }
ebd8d4e8 4096
ab78acc6
IC
4097 return len
4098}
ebd8d4e8 4099
ab78acc6
IC
4100// fill(value, start=0, end=buffer.length)
4101Buffer.prototype.fill = function fill (value, start, end) {
4102 if (!value) value = 0
4103 if (!start) start = 0
4104 if (!end) end = this.length
ebd8d4e8 4105
ab78acc6 4106 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4107
ab78acc6
IC
4108 // Fill 0 bytes; we're done
4109 if (end === start) return
4110 if (this.length === 0) return
ebd8d4e8 4111
ab78acc6
IC
4112 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4113 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4114
ab78acc6
IC
4115 var i
4116 if (typeof value === 'number') {
4117 for (i = start; i < end; i++) {
4118 this[i] = value
ebd8d4e8 4119 }
ab78acc6
IC
4120 } else {
4121 var bytes = utf8ToBytes(value.toString())
4122 var len = bytes.length
4123 for (i = start; i < end; i++) {
4124 this[i] = bytes[i % len]
ebd8d4e8
IC
4125 }
4126 }
ebd8d4e8 4127
ab78acc6 4128 return this
ebd8d4e8
IC
4129}
4130
ab78acc6
IC
4131/**
4132 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4133 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4134 */
4135Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4136 if (typeof Uint8Array !== 'undefined') {
4137 if (Buffer.TYPED_ARRAY_SUPPORT) {
4138 return (new Buffer(this)).buffer
4139 } else {
4140 var buf = new Uint8Array(this.length)
4141 for (var i = 0, len = buf.length; i < len; i += 1) {
4142 buf[i] = this[i]
ebd8d4e8 4143 }
ab78acc6 4144 return buf.buffer
ebd8d4e8 4145 }
ab78acc6
IC
4146 } else {
4147 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4148 }
ebd8d4e8
IC
4149}
4150
ab78acc6
IC
4151// HELPER FUNCTIONS
4152// ================
ebd8d4e8 4153
ab78acc6 4154var BP = Buffer.prototype
ebd8d4e8 4155
ab78acc6
IC
4156/**
4157 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4158 */
4159Buffer._augment = function _augment (arr) {
4160 arr.constructor = Buffer
4161 arr._isBuffer = true
ebd8d4e8 4162
ab78acc6
IC
4163 // save reference to original Uint8Array set method before overwriting
4164 arr._set = arr.set
ebd8d4e8 4165
ab78acc6
IC
4166 // deprecated
4167 arr.get = BP.get
4168 arr.set = BP.set
ebd8d4e8 4169
ab78acc6
IC
4170 arr.write = BP.write
4171 arr.toString = BP.toString
4172 arr.toLocaleString = BP.toString
4173 arr.toJSON = BP.toJSON
4174 arr.equals = BP.equals
4175 arr.compare = BP.compare
4176 arr.indexOf = BP.indexOf
4177 arr.copy = BP.copy
4178 arr.slice = BP.slice
4179 arr.readUIntLE = BP.readUIntLE
4180 arr.readUIntBE = BP.readUIntBE
4181 arr.readUInt8 = BP.readUInt8
4182 arr.readUInt16LE = BP.readUInt16LE
4183 arr.readUInt16BE = BP.readUInt16BE
4184 arr.readUInt32LE = BP.readUInt32LE
4185 arr.readUInt32BE = BP.readUInt32BE
4186 arr.readIntLE = BP.readIntLE
4187 arr.readIntBE = BP.readIntBE
4188 arr.readInt8 = BP.readInt8
4189 arr.readInt16LE = BP.readInt16LE
4190 arr.readInt16BE = BP.readInt16BE
4191 arr.readInt32LE = BP.readInt32LE
4192 arr.readInt32BE = BP.readInt32BE
4193 arr.readFloatLE = BP.readFloatLE
4194 arr.readFloatBE = BP.readFloatBE
4195 arr.readDoubleLE = BP.readDoubleLE
4196 arr.readDoubleBE = BP.readDoubleBE
4197 arr.writeUInt8 = BP.writeUInt8
4198 arr.writeUIntLE = BP.writeUIntLE
4199 arr.writeUIntBE = BP.writeUIntBE
4200 arr.writeUInt16LE = BP.writeUInt16LE
4201 arr.writeUInt16BE = BP.writeUInt16BE
4202 arr.writeUInt32LE = BP.writeUInt32LE
4203 arr.writeUInt32BE = BP.writeUInt32BE
4204 arr.writeIntLE = BP.writeIntLE
4205 arr.writeIntBE = BP.writeIntBE
4206 arr.writeInt8 = BP.writeInt8
4207 arr.writeInt16LE = BP.writeInt16LE
4208 arr.writeInt16BE = BP.writeInt16BE
4209 arr.writeInt32LE = BP.writeInt32LE
4210 arr.writeInt32BE = BP.writeInt32BE
4211 arr.writeFloatLE = BP.writeFloatLE
4212 arr.writeFloatBE = BP.writeFloatBE
4213 arr.writeDoubleLE = BP.writeDoubleLE
4214 arr.writeDoubleBE = BP.writeDoubleBE
4215 arr.fill = BP.fill
4216 arr.inspect = BP.inspect
4217 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4218
ab78acc6 4219 return arr
ebd8d4e8
IC
4220}
4221
ab78acc6 4222var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4223
ab78acc6
IC
4224function base64clean (str) {
4225 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4226 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4227 // Node converts strings with length < 2 to ''
4228 if (str.length < 2) return ''
4229 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4230 while (str.length % 4 !== 0) {
4231 str = str + '='
4232 }
4233 return str
ebd8d4e8
IC
4234}
4235
ab78acc6
IC
4236function stringtrim (str) {
4237 if (str.trim) return str.trim()
4238 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4239}
4240
ab78acc6
IC
4241function toHex (n) {
4242 if (n < 16) return '0' + n.toString(16)
4243 return n.toString(16)
ebd8d4e8
IC
4244}
4245
ab78acc6
IC
4246function utf8ToBytes (string, units) {
4247 units = units || Infinity
4248 var codePoint
4249 var length = string.length
4250 var leadSurrogate = null
4251 var bytes = []
ebd8d4e8 4252
ab78acc6
IC
4253 for (var i = 0; i < length; i++) {
4254 codePoint = string.charCodeAt(i)
ebd8d4e8 4255
ab78acc6
IC
4256 // is surrogate component
4257 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4258 // last char was a lead
4259 if (!leadSurrogate) {
4260 // no lead yet
4261 if (codePoint > 0xDBFF) {
4262 // unexpected trail
4263 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4264 continue
ebd8d4e8 4265
ab78acc6
IC
4266 } else if (i + 1 === length) {
4267 // unpaired lead
4268 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4269 continue
4270 }
ebd8d4e8 4271
ab78acc6
IC
4272 // valid lead
4273 leadSurrogate = codePoint
ebd8d4e8 4274
ab78acc6
IC
4275 continue
4276 }
ebd8d4e8 4277
ab78acc6
IC
4278 // 2 leads in a row
4279 if (codePoint < 0xDC00) {
4280 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4281 leadSurrogate = codePoint
4282 continue
4283 }
ebd8d4e8 4284
ab78acc6
IC
4285 // valid surrogate pair
4286 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4287
4288 } else if (leadSurrogate) {
4289 // valid bmp char, but last char was a lead
4290 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4291 }
4292
4293 leadSurrogate = null
4294
4295 // encode utf8
4296 if (codePoint < 0x80) {
4297 if ((units -= 1) < 0) break
4298 bytes.push(codePoint)
4299 } else if (codePoint < 0x800) {
4300 if ((units -= 2) < 0) break
4301 bytes.push(
4302 codePoint >> 0x6 | 0xC0,
4303 codePoint & 0x3F | 0x80
4304 )
4305 } else if (codePoint < 0x10000) {
4306 if ((units -= 3) < 0) break
4307 bytes.push(
4308 codePoint >> 0xC | 0xE0,
4309 codePoint >> 0x6 & 0x3F | 0x80,
4310 codePoint & 0x3F | 0x80
4311 )
4312 } else if (codePoint < 0x110000) {
4313 if ((units -= 4) < 0) break
4314 bytes.push(
4315 codePoint >> 0x12 | 0xF0,
4316 codePoint >> 0xC & 0x3F | 0x80,
4317 codePoint >> 0x6 & 0x3F | 0x80,
4318 codePoint & 0x3F | 0x80
4319 )
4320 } else {
4321 throw new Error('Invalid code point')
ebd8d4e8 4322 }
ebd8d4e8 4323 }
ab78acc6
IC
4324
4325 return bytes
4326}
4327
4328function asciiToBytes (str) {
4329 var byteArray = []
4330 for (var i = 0; i < str.length; i++) {
4331 // Node's code seems to be doing this and not & 0x7F..
4332 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4333 }
ab78acc6 4334 return byteArray
ebd8d4e8
IC
4335}
4336
ab78acc6
IC
4337function utf16leToBytes (str, units) {
4338 var c, hi, lo
4339 var byteArray = []
4340 for (var i = 0; i < str.length; i++) {
4341 if ((units -= 2) < 0) break
ebd8d4e8 4342
ab78acc6
IC
4343 c = str.charCodeAt(i)
4344 hi = c >> 8
4345 lo = c % 256
4346 byteArray.push(lo)
4347 byteArray.push(hi)
4348 }
ebd8d4e8 4349
ab78acc6
IC
4350 return byteArray
4351}
ebd8d4e8 4352
ab78acc6
IC
4353function base64ToBytes (str) {
4354 return base64.toByteArray(base64clean(str))
4355}
ebd8d4e8 4356
ab78acc6
IC
4357function blitBuffer (src, dst, offset, length) {
4358 for (var i = 0; i < length; i++) {
4359 if ((i + offset >= dst.length) || (i >= src.length)) break
4360 dst[i + offset] = src[i]
4361 }
4362 return i
4363}
4364
4365},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4366var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4367
4368;(function (exports) {
4369 'use strict';
4370
4371 var Arr = (typeof Uint8Array !== 'undefined')
4372 ? Uint8Array
4373 : Array
ebd8d4e8 4374
ab78acc6
IC
4375 var PLUS = '+'.charCodeAt(0)
4376 var SLASH = '/'.charCodeAt(0)
4377 var NUMBER = '0'.charCodeAt(0)
4378 var LOWER = 'a'.charCodeAt(0)
4379 var UPPER = 'A'.charCodeAt(0)
4380 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4381 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4382
ab78acc6
IC
4383 function decode (elt) {
4384 var code = elt.charCodeAt(0)
4385 if (code === PLUS ||
4386 code === PLUS_URL_SAFE)
4387 return 62 // '+'
4388 if (code === SLASH ||
4389 code === SLASH_URL_SAFE)
4390 return 63 // '/'
4391 if (code < NUMBER)
4392 return -1 //no match
4393 if (code < NUMBER + 10)
4394 return code - NUMBER + 26 + 26
4395 if (code < UPPER + 26)
4396 return code - UPPER
4397 if (code < LOWER + 26)
4398 return code - LOWER + 26
4399 }
ebd8d4e8 4400
ab78acc6
IC
4401 function b64ToByteArray (b64) {
4402 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4403
ab78acc6
IC
4404 if (b64.length % 4 > 0) {
4405 throw new Error('Invalid string. Length must be a multiple of 4')
4406 }
ebd8d4e8 4407
ab78acc6
IC
4408 // the number of equal signs (place holders)
4409 // if there are two placeholders, than the two characters before it
4410 // represent one byte
4411 // if there is only one, then the three characters before it represent 2 bytes
4412 // this is just a cheap hack to not do indexOf twice
4413 var len = b64.length
4414 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4415
ab78acc6
IC
4416 // base64 is 4/3 + up to two characters of the original data
4417 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4418
ab78acc6
IC
4419 // if there are placeholders, only get up to the last complete 4 chars
4420 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4421
ab78acc6 4422 var L = 0
ebd8d4e8 4423
ab78acc6
IC
4424 function push (v) {
4425 arr[L++] = v
4426 }
ebd8d4e8 4427
ab78acc6
IC
4428 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4429 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4430 push((tmp & 0xFF0000) >> 16)
4431 push((tmp & 0xFF00) >> 8)
4432 push(tmp & 0xFF)
4433 }
ebd8d4e8 4434
ab78acc6
IC
4435 if (placeHolders === 2) {
4436 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4437 push(tmp & 0xFF)
4438 } else if (placeHolders === 1) {
4439 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4440 push((tmp >> 8) & 0xFF)
4441 push(tmp & 0xFF)
4442 }
ebd8d4e8 4443
ab78acc6
IC
4444 return arr
4445 }
ebd8d4e8 4446
ab78acc6
IC
4447 function uint8ToBase64 (uint8) {
4448 var i,
4449 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4450 output = "",
4451 temp, length
ebd8d4e8 4452
ab78acc6
IC
4453 function encode (num) {
4454 return lookup.charAt(num)
4455 }
ebd8d4e8 4456
ab78acc6
IC
4457 function tripletToBase64 (num) {
4458 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4459 }
ebd8d4e8 4460
ab78acc6
IC
4461 // go through the array every three bytes, we'll deal with trailing stuff later
4462 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4463 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4464 output += tripletToBase64(temp)
4465 }
ebd8d4e8 4466
ab78acc6
IC
4467 // pad the end with zeros, but make sure to not forget the extra bytes
4468 switch (extraBytes) {
4469 case 1:
4470 temp = uint8[uint8.length - 1]
4471 output += encode(temp >> 2)
4472 output += encode((temp << 4) & 0x3F)
4473 output += '=='
4474 break
4475 case 2:
4476 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4477 output += encode(temp >> 10)
4478 output += encode((temp >> 4) & 0x3F)
4479 output += encode((temp << 2) & 0x3F)
4480 output += '='
4481 break
4482 }
ebd8d4e8 4483
ab78acc6
IC
4484 return output
4485 }
ebd8d4e8 4486
ab78acc6
IC
4487 exports.toByteArray = b64ToByteArray
4488 exports.fromByteArray = uint8ToBase64
4489}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4490
ab78acc6
IC
4491},{}],9:[function(require,module,exports){
4492exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4493 var e, m
4494 var eLen = nBytes * 8 - mLen - 1
4495 var eMax = (1 << eLen) - 1
4496 var eBias = eMax >> 1
4497 var nBits = -7
4498 var i = isLE ? (nBytes - 1) : 0
4499 var d = isLE ? -1 : 1
4500 var s = buffer[offset + i]
4501
4502 i += d
4503
4504 e = s & ((1 << (-nBits)) - 1)
4505 s >>= (-nBits)
4506 nBits += eLen
4507 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4508
4509 m = e & ((1 << (-nBits)) - 1)
4510 e >>= (-nBits)
4511 nBits += mLen
4512 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4513
ab78acc6
IC
4514 if (e === 0) {
4515 e = 1 - eBias
4516 } else if (e === eMax) {
4517 return m ? NaN : ((s ? -1 : 1) * Infinity)
4518 } else {
4519 m = m + Math.pow(2, mLen)
4520 e = e - eBias
ebd8d4e8 4521 }
ab78acc6 4522 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4523}
4524
ab78acc6
IC
4525exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4526 var e, m, c
4527 var eLen = nBytes * 8 - mLen - 1
4528 var eMax = (1 << eLen) - 1
4529 var eBias = eMax >> 1
4530 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4531 var i = isLE ? 0 : (nBytes - 1)
4532 var d = isLE ? 1 : -1
4533 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4534
ab78acc6 4535 value = Math.abs(value)
ebd8d4e8 4536
ab78acc6
IC
4537 if (isNaN(value) || value === Infinity) {
4538 m = isNaN(value) ? 1 : 0
4539 e = eMax
4540 } else {
4541 e = Math.floor(Math.log(value) / Math.LN2)
4542 if (value * (c = Math.pow(2, -e)) < 1) {
4543 e--
4544 c *= 2
ebd8d4e8 4545 }
ab78acc6
IC
4546 if (e + eBias >= 1) {
4547 value += rt / c
4548 } else {
4549 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4550 }
ab78acc6
IC
4551 if (value * c >= 2) {
4552 e++
4553 c /= 2
ebd8d4e8 4554 }
ab78acc6
IC
4555
4556 if (e + eBias >= eMax) {
4557 m = 0
4558 e = eMax
4559 } else if (e + eBias >= 1) {
4560 m = (value * c - 1) * Math.pow(2, mLen)
4561 e = e + eBias
4562 } else {
4563 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4564 e = 0
ebd8d4e8
IC
4565 }
4566 }
ebd8d4e8 4567
ab78acc6 4568 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4569
ab78acc6
IC
4570 e = (e << mLen) | m
4571 eLen += mLen
4572 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4573
ab78acc6
IC
4574 buffer[offset + i - d] |= s * 128
4575}
ebd8d4e8 4576
ab78acc6 4577},{}],10:[function(require,module,exports){
ebd8d4e8 4578
ab78acc6
IC
4579/**
4580 * isArray
4581 */
ebd8d4e8 4582
ab78acc6 4583var isArray = Array.isArray;
ebd8d4e8
IC
4584
4585/**
ab78acc6 4586 * toString
ebd8d4e8 4587 */
ebd8d4e8 4588
ab78acc6 4589var str = Object.prototype.toString;
ebd8d4e8
IC
4590
4591/**
ab78acc6
IC
4592 * Whether or not the given `val`
4593 * is an array.
ebd8d4e8 4594 *
ab78acc6
IC
4595 * example:
4596 *
4597 * isArray([]);
4598 * // > true
4599 * isArray(arguments);
4600 * // > false
4601 * isArray('');
4602 * // > false
4603 *
4604 * @param {mixed} val
4605 * @return {bool}
ebd8d4e8 4606 */
ebd8d4e8 4607
ab78acc6
IC
4608module.exports = isArray || function (val) {
4609 return !! val && '[object Array]' == str.call(val);
4610};
4611
4612},{}],11:[function(require,module,exports){
4613// Copyright Joyent, Inc. and other Node contributors.
4614//
4615// Permission is hereby granted, free of charge, to any person obtaining a
4616// copy of this software and associated documentation files (the
4617// "Software"), to deal in the Software without restriction, including
4618// without limitation the rights to use, copy, modify, merge, publish,
4619// distribute, sublicense, and/or sell copies of the Software, and to permit
4620// persons to whom the Software is furnished to do so, subject to the
4621// following conditions:
4622//
4623// The above copyright notice and this permission notice shall be included
4624// in all copies or substantial portions of the Software.
4625//
4626// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4627// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4628// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4629// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4630// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4631// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4632// USE OR OTHER DEALINGS IN THE SOFTWARE.
4633
4634function EventEmitter() {
4635 this._events = this._events || {};
4636 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4637}
ab78acc6 4638module.exports = EventEmitter;
ebd8d4e8 4639
ab78acc6
IC
4640// Backwards-compat with node 0.10.x
4641EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4642
ab78acc6
IC
4643EventEmitter.prototype._events = undefined;
4644EventEmitter.prototype._maxListeners = undefined;
4645
4646// By default EventEmitters will print a warning if more than 10 listeners are
4647// added to it. This is a useful default which helps finding memory leaks.
4648EventEmitter.defaultMaxListeners = 10;
4649
4650// Obviously not all Emitters should be limited to 10. This function allows
4651// that to be increased. Set to zero for unlimited.
4652EventEmitter.prototype.setMaxListeners = function(n) {
4653 if (!isNumber(n) || n < 0 || isNaN(n))
4654 throw TypeError('n must be a positive number');
4655 this._maxListeners = n;
4656 return this;
4657};
4658
4659EventEmitter.prototype.emit = function(type) {
4660 var er, handler, len, args, i, listeners;
4661
4662 if (!this._events)
4663 this._events = {};
4664
4665 // If there is no 'error' event listener then throw.
4666 if (type === 'error') {
4667 if (!this._events.error ||
4668 (isObject(this._events.error) && !this._events.error.length)) {
4669 er = arguments[1];
4670 if (er instanceof Error) {
4671 throw er; // Unhandled 'error' event
4672 }
4673 throw TypeError('Uncaught, unspecified "error" event.');
4674 }
4675 }
4676
4677 handler = this._events[type];
4678
4679 if (isUndefined(handler))
4680 return false;
4681
4682 if (isFunction(handler)) {
4683 switch (arguments.length) {
4684 // fast cases
4685 case 1:
4686 handler.call(this);
4687 break;
4688 case 2:
4689 handler.call(this, arguments[1]);
4690 break;
4691 case 3:
4692 handler.call(this, arguments[1], arguments[2]);
4693 break;
4694 // slower
4695 default:
4696 len = arguments.length;
4697 args = new Array(len - 1);
4698 for (i = 1; i < len; i++)
4699 args[i - 1] = arguments[i];
4700 handler.apply(this, args);
4701 }
4702 } else if (isObject(handler)) {
4703 len = arguments.length;
4704 args = new Array(len - 1);
4705 for (i = 1; i < len; i++)
4706 args[i - 1] = arguments[i];
ebd8d4e8 4707
ab78acc6
IC
4708 listeners = handler.slice();
4709 len = listeners.length;
4710 for (i = 0; i < len; i++)
4711 listeners[i].apply(this, args);
ebd8d4e8
IC
4712 }
4713
ab78acc6
IC
4714 return true;
4715};
ebd8d4e8 4716
ab78acc6
IC
4717EventEmitter.prototype.addListener = function(type, listener) {
4718 var m;
ebd8d4e8 4719
ab78acc6
IC
4720 if (!isFunction(listener))
4721 throw TypeError('listener must be a function');
ebd8d4e8 4722
ab78acc6
IC
4723 if (!this._events)
4724 this._events = {};
ebd8d4e8 4725
ab78acc6
IC
4726 // To avoid recursion in the case that type === "newListener"! Before
4727 // adding it to the listeners, first emit "newListener".
4728 if (this._events.newListener)
4729 this.emit('newListener', type,
4730 isFunction(listener.listener) ?
4731 listener.listener : listener);
ebd8d4e8 4732
ab78acc6
IC
4733 if (!this._events[type])
4734 // Optimize the case of one listener. Don't need the extra array object.
4735 this._events[type] = listener;
4736 else if (isObject(this._events[type]))
4737 // If we've already got an array, just append.
4738 this._events[type].push(listener);
4739 else
4740 // Adding the second element, need to change to array.
4741 this._events[type] = [this._events[type], listener];
4742
4743 // Check for listener leak
4744 if (isObject(this._events[type]) && !this._events[type].warned) {
4745 var m;
4746 if (!isUndefined(this._maxListeners)) {
4747 m = this._maxListeners;
4748 } else {
4749 m = EventEmitter.defaultMaxListeners;
4750 }
4751
4752 if (m && m > 0 && this._events[type].length > m) {
4753 this._events[type].warned = true;
4754 console.error('(node) warning: possible EventEmitter memory ' +
4755 'leak detected. %d listeners added. ' +
4756 'Use emitter.setMaxListeners() to increase limit.',
4757 this._events[type].length);
4758 if (typeof console.trace === 'function') {
4759 // not supported in IE 10
4760 console.trace();
4761 }
4762 }
4763 }
ebd8d4e8 4764
ab78acc6
IC
4765 return this;
4766};
ebd8d4e8 4767
ab78acc6 4768EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4769
ab78acc6
IC
4770EventEmitter.prototype.once = function(type, listener) {
4771 if (!isFunction(listener))
4772 throw TypeError('listener must be a function');
ebd8d4e8 4773
ab78acc6 4774 var fired = false;
ebd8d4e8 4775
ab78acc6
IC
4776 function g() {
4777 this.removeListener(type, g);
ebd8d4e8 4778
ab78acc6
IC
4779 if (!fired) {
4780 fired = true;
4781 listener.apply(this, arguments);
4782 }
4783 }
ebd8d4e8 4784
ab78acc6
IC
4785 g.listener = listener;
4786 this.on(type, g);
ebd8d4e8 4787
ab78acc6
IC
4788 return this;
4789};
ebd8d4e8 4790
ab78acc6
IC
4791// emits a 'removeListener' event iff the listener was removed
4792EventEmitter.prototype.removeListener = function(type, listener) {
4793 var list, position, length, i;
ebd8d4e8 4794
ab78acc6
IC
4795 if (!isFunction(listener))
4796 throw TypeError('listener must be a function');
ebd8d4e8 4797
ab78acc6
IC
4798 if (!this._events || !this._events[type])
4799 return this;
ebd8d4e8 4800
ab78acc6
IC
4801 list = this._events[type];
4802 length = list.length;
4803 position = -1;
4804
4805 if (list === listener ||
4806 (isFunction(list.listener) && list.listener === listener)) {
4807 delete this._events[type];
4808 if (this._events.removeListener)
4809 this.emit('removeListener', type, listener);
4810
4811 } else if (isObject(list)) {
4812 for (i = length; i-- > 0;) {
4813 if (list[i] === listener ||
4814 (list[i].listener && list[i].listener === listener)) {
4815 position = i;
4816 break;
ebd8d4e8 4817 }
ab78acc6 4818 }
ebd8d4e8 4819
ab78acc6
IC
4820 if (position < 0)
4821 return this;
4822
4823 if (list.length === 1) {
4824 list.length = 0;
4825 delete this._events[type];
4826 } else {
4827 list.splice(position, 1);
ebd8d4e8 4828 }
ab78acc6
IC
4829
4830 if (this._events.removeListener)
4831 this.emit('removeListener', type, listener);
ebd8d4e8 4832 }
ab78acc6
IC
4833
4834 return this;
ebd8d4e8
IC
4835};
4836
ab78acc6
IC
4837EventEmitter.prototype.removeAllListeners = function(type) {
4838 var key, listeners;
ebd8d4e8 4839
ab78acc6
IC
4840 if (!this._events)
4841 return this;
4842
4843 // not listening for removeListener, no need to emit
4844 if (!this._events.removeListener) {
4845 if (arguments.length === 0)
4846 this._events = {};
4847 else if (this._events[type])
4848 delete this._events[type];
4849 return this;
ebd8d4e8 4850 }
ab78acc6
IC
4851
4852 // emit removeListener for all listeners on all events
4853 if (arguments.length === 0) {
4854 for (key in this._events) {
4855 if (key === 'removeListener') continue;
4856 this.removeAllListeners(key);
4857 }
4858 this.removeAllListeners('removeListener');
4859 this._events = {};
4860 return this;
ebd8d4e8 4861 }
ebd8d4e8 4862
ab78acc6
IC
4863 listeners = this._events[type];
4864
4865 if (isFunction(listeners)) {
4866 this.removeListener(type, listeners);
ebd8d4e8 4867 } else {
ab78acc6
IC
4868 // LIFO order
4869 while (listeners.length)
4870 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4871 }
ab78acc6 4872 delete this._events[type];
ebd8d4e8 4873
ab78acc6
IC
4874 return this;
4875};
ebd8d4e8 4876
ab78acc6
IC
4877EventEmitter.prototype.listeners = function(type) {
4878 var ret;
4879 if (!this._events || !this._events[type])
4880 ret = [];
4881 else if (isFunction(this._events[type]))
4882 ret = [this._events[type]];
4883 else
4884 ret = this._events[type].slice();
4885 return ret;
4886};
ebd8d4e8 4887
ab78acc6
IC
4888EventEmitter.listenerCount = function(emitter, type) {
4889 var ret;
4890 if (!emitter._events || !emitter._events[type])
4891 ret = 0;
4892 else if (isFunction(emitter._events[type]))
4893 ret = 1;
4894 else
4895 ret = emitter._events[type].length;
4896 return ret;
4897};
ebd8d4e8 4898
ab78acc6
IC
4899function isFunction(arg) {
4900 return typeof arg === 'function';
ebd8d4e8
IC
4901}
4902
ab78acc6
IC
4903function isNumber(arg) {
4904 return typeof arg === 'number';
4905}
ebd8d4e8 4906
ab78acc6
IC
4907function isObject(arg) {
4908 return typeof arg === 'object' && arg !== null;
4909}
ebd8d4e8 4910
ab78acc6
IC
4911function isUndefined(arg) {
4912 return arg === void 0;
ebd8d4e8 4913}
ebd8d4e8 4914
ab78acc6
IC
4915},{}],12:[function(require,module,exports){
4916if (typeof Object.create === 'function') {
4917 // implementation from standard node.js 'util' module
4918 module.exports = function inherits(ctor, superCtor) {
4919 ctor.super_ = superCtor
4920 ctor.prototype = Object.create(superCtor.prototype, {
4921 constructor: {
4922 value: ctor,
4923 enumerable: false,
4924 writable: true,
4925 configurable: true
4926 }
4927 });
4928 };
4929} else {
4930 // old school shim for old browsers
4931 module.exports = function inherits(ctor, superCtor) {
4932 ctor.super_ = superCtor
4933 var TempCtor = function () {}
4934 TempCtor.prototype = superCtor.prototype
4935 ctor.prototype = new TempCtor()
4936 ctor.prototype.constructor = ctor
4937 }
4938}
ebd8d4e8 4939
ab78acc6
IC
4940},{}],13:[function(require,module,exports){
4941module.exports = Array.isArray || function (arr) {
4942 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
4943};
4944
ab78acc6
IC
4945},{}],14:[function(require,module,exports){
4946// shim for using process in browser
ebd8d4e8 4947
ab78acc6
IC
4948var process = module.exports = {};
4949var queue = [];
4950var draining = false;
4951var currentQueue;
4952var queueIndex = -1;
4953
4954function cleanUpNextTick() {
4955 draining = false;
4956 if (currentQueue.length) {
4957 queue = currentQueue.concat(queue);
4958 } else {
4959 queueIndex = -1;
4960 }
4961 if (queue.length) {
4962 drainQueue();
4963 }
4964}
ebd8d4e8 4965
ab78acc6
IC
4966function drainQueue() {
4967 if (draining) {
4968 return;
4969 }
4970 var timeout = setTimeout(cleanUpNextTick);
4971 draining = true;
ebd8d4e8 4972
ab78acc6
IC
4973 var len = queue.length;
4974 while(len) {
4975 currentQueue = queue;
4976 queue = [];
4977 while (++queueIndex < len) {
4978 currentQueue[queueIndex].run();
4979 }
4980 queueIndex = -1;
4981 len = queue.length;
4982 }
4983 currentQueue = null;
4984 draining = false;
4985 clearTimeout(timeout);
4986}
4987
4988process.nextTick = function (fun) {
4989 var args = new Array(arguments.length - 1);
4990 if (arguments.length > 1) {
4991 for (var i = 1; i < arguments.length; i++) {
4992 args[i - 1] = arguments[i];
4993 }
4994 }
4995 queue.push(new Item(fun, args));
4996 if (queue.length === 1 && !draining) {
4997 setTimeout(drainQueue, 0);
4998 }
ebd8d4e8
IC
4999};
5000
ab78acc6
IC
5001// v8 likes predictible objects
5002function Item(fun, array) {
5003 this.fun = fun;
5004 this.array = array;
5005}
5006Item.prototype.run = function () {
5007 this.fun.apply(null, this.array);
5008};
5009process.title = 'browser';
5010process.browser = true;
5011process.env = {};
5012process.argv = [];
5013process.version = ''; // empty string to avoid regexp issues
5014process.versions = {};
ebd8d4e8 5015
ab78acc6
IC
5016function noop() {}
5017
5018process.on = noop;
5019process.addListener = noop;
5020process.once = noop;
5021process.off = noop;
5022process.removeListener = noop;
5023process.removeAllListeners = noop;
5024process.emit = noop;
5025
5026process.binding = function (name) {
5027 throw new Error('process.binding is not supported');
5028};
ebd8d4e8 5029
ab78acc6
IC
5030// TODO(shtylman)
5031process.cwd = function () { return '/' };
5032process.chdir = function (dir) {
5033 throw new Error('process.chdir is not supported');
5034};
5035process.umask = function() { return 0; };
ebd8d4e8 5036
ab78acc6
IC
5037},{}],15:[function(require,module,exports){
5038module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5039
ab78acc6
IC
5040},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5041(function (process){
5042// Copyright Joyent, Inc. and other Node contributors.
5043//
5044// Permission is hereby granted, free of charge, to any person obtaining a
5045// copy of this software and associated documentation files (the
5046// "Software"), to deal in the Software without restriction, including
5047// without limitation the rights to use, copy, modify, merge, publish,
5048// distribute, sublicense, and/or sell copies of the Software, and to permit
5049// persons to whom the Software is furnished to do so, subject to the
5050// following conditions:
5051//
5052// The above copyright notice and this permission notice shall be included
5053// in all copies or substantial portions of the Software.
5054//
5055// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5056// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5057// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5058// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5059// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5060// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5061// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5062
ab78acc6
IC
5063// a duplex stream is just a stream that is both readable and writable.
5064// Since JS doesn't have multiple prototypal inheritance, this class
5065// prototypally inherits from Readable, and then parasitically from
5066// Writable.
ebd8d4e8 5067
ab78acc6 5068module.exports = Duplex;
ebd8d4e8 5069
ab78acc6
IC
5070/*<replacement>*/
5071var objectKeys = Object.keys || function (obj) {
5072 var keys = [];
5073 for (var key in obj) keys.push(key);
5074 return keys;
ebd8d4e8 5075}
ab78acc6 5076/*</replacement>*/
ebd8d4e8 5077
ebd8d4e8 5078
ab78acc6
IC
5079/*<replacement>*/
5080var util = require('core-util-is');
5081util.inherits = require('inherits');
5082/*</replacement>*/
ebd8d4e8 5083
ab78acc6
IC
5084var Readable = require('./_stream_readable');
5085var Writable = require('./_stream_writable');
ebd8d4e8 5086
ab78acc6 5087util.inherits(Duplex, Readable);
ebd8d4e8 5088
ab78acc6
IC
5089forEach(objectKeys(Writable.prototype), function(method) {
5090 if (!Duplex.prototype[method])
5091 Duplex.prototype[method] = Writable.prototype[method];
5092});
ebd8d4e8 5093
ab78acc6
IC
5094function Duplex(options) {
5095 if (!(this instanceof Duplex))
5096 return new Duplex(options);
ebd8d4e8 5097
ab78acc6
IC
5098 Readable.call(this, options);
5099 Writable.call(this, options);
ebd8d4e8 5100
ab78acc6
IC
5101 if (options && options.readable === false)
5102 this.readable = false;
ebd8d4e8 5103
ab78acc6
IC
5104 if (options && options.writable === false)
5105 this.writable = false;
ebd8d4e8 5106
ab78acc6
IC
5107 this.allowHalfOpen = true;
5108 if (options && options.allowHalfOpen === false)
5109 this.allowHalfOpen = false;
ebd8d4e8 5110
ab78acc6 5111 this.once('end', onend);
ebd8d4e8
IC
5112}
5113
ab78acc6
IC
5114// the no-half-open enforcer
5115function onend() {
5116 // if we allow half-open state, or if the writable side ended,
5117 // then we're ok.
5118 if (this.allowHalfOpen || this._writableState.ended)
5119 return;
ebd8d4e8 5120
ab78acc6
IC
5121 // no more data can be written.
5122 // But allow more writes to happen in this tick.
5123 process.nextTick(this.end.bind(this));
5124}
ebd8d4e8 5125
ab78acc6
IC
5126function forEach (xs, f) {
5127 for (var i = 0, l = xs.length; i < l; i++) {
5128 f(xs[i], i);
ebd8d4e8 5129 }
ab78acc6 5130}
ebd8d4e8 5131
ab78acc6
IC
5132}).call(this,require('_process'))
5133},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5134// Copyright Joyent, Inc. and other Node contributors.
5135//
5136// Permission is hereby granted, free of charge, to any person obtaining a
5137// copy of this software and associated documentation files (the
5138// "Software"), to deal in the Software without restriction, including
5139// without limitation the rights to use, copy, modify, merge, publish,
5140// distribute, sublicense, and/or sell copies of the Software, and to permit
5141// persons to whom the Software is furnished to do so, subject to the
5142// following conditions:
5143//
5144// The above copyright notice and this permission notice shall be included
5145// in all copies or substantial portions of the Software.
5146//
5147// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5148// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5149// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5150// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5151// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5152// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5153// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5154
ab78acc6
IC
5155// a passthrough stream.
5156// basically just the most minimal sort of Transform stream.
5157// Every written chunk gets output as-is.
ebd8d4e8 5158
ab78acc6 5159module.exports = PassThrough;
ebd8d4e8 5160
ab78acc6 5161var Transform = require('./_stream_transform');
ebd8d4e8 5162
ab78acc6
IC
5163/*<replacement>*/
5164var util = require('core-util-is');
5165util.inherits = require('inherits');
5166/*</replacement>*/
ebd8d4e8 5167
ab78acc6 5168util.inherits(PassThrough, Transform);
ebd8d4e8 5169
ab78acc6
IC
5170function PassThrough(options) {
5171 if (!(this instanceof PassThrough))
5172 return new PassThrough(options);
ebd8d4e8 5173
ab78acc6
IC
5174 Transform.call(this, options);
5175}
ebd8d4e8 5176
ab78acc6
IC
5177PassThrough.prototype._transform = function(chunk, encoding, cb) {
5178 cb(null, chunk);
ebd8d4e8
IC
5179};
5180
ab78acc6
IC
5181},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5182(function (process){
ebd8d4e8
IC
5183// Copyright Joyent, Inc. and other Node contributors.
5184//
5185// Permission is hereby granted, free of charge, to any person obtaining a
5186// copy of this software and associated documentation files (the
5187// "Software"), to deal in the Software without restriction, including
5188// without limitation the rights to use, copy, modify, merge, publish,
5189// distribute, sublicense, and/or sell copies of the Software, and to permit
5190// persons to whom the Software is furnished to do so, subject to the
5191// following conditions:
5192//
5193// The above copyright notice and this permission notice shall be included
5194// in all copies or substantial portions of the Software.
5195//
5196// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5197// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5198// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5199// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5200// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5201// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5202// USE OR OTHER DEALINGS IN THE SOFTWARE.
5203
ab78acc6 5204module.exports = Readable;
ebd8d4e8 5205
ab78acc6
IC
5206/*<replacement>*/
5207var isArray = require('isarray');
5208/*</replacement>*/
5209
5210
5211/*<replacement>*/
5212var Buffer = require('buffer').Buffer;
5213/*</replacement>*/
5214
5215Readable.ReadableState = ReadableState;
5216
5217var EE = require('events').EventEmitter;
5218
5219/*<replacement>*/
5220if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5221 return emitter.listeners(type).length;
ebd8d4e8 5222};
ab78acc6
IC
5223/*</replacement>*/
5224
5225var Stream = require('stream');
5226
5227/*<replacement>*/
5228var util = require('core-util-is');
5229util.inherits = require('inherits');
5230/*</replacement>*/
5231
5232var StringDecoder;
5233
5234
5235/*<replacement>*/
5236var debug = require('util');
5237if (debug && debug.debuglog) {
5238 debug = debug.debuglog('stream');
5239} else {
5240 debug = function () {};
5241}
5242/*</replacement>*/
5243
5244
5245util.inherits(Readable, Stream);
5246
5247function ReadableState(options, stream) {
5248 var Duplex = require('./_stream_duplex');
5249
5250 options = options || {};
5251
5252 // the point at which it stops calling _read() to fill the buffer
5253 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5254 var hwm = options.highWaterMark;
5255 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5256 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5257
5258 // cast to ints.
5259 this.highWaterMark = ~~this.highWaterMark;
5260
5261 this.buffer = [];
5262 this.length = 0;
5263 this.pipes = null;
5264 this.pipesCount = 0;
5265 this.flowing = null;
5266 this.ended = false;
5267 this.endEmitted = false;
5268 this.reading = false;
ebd8d4e8 5269
ab78acc6
IC
5270 // a flag to be able to tell if the onwrite cb is called immediately,
5271 // or on a later tick. We set this to true at first, because any
5272 // actions that shouldn't happen until "later" should generally also
5273 // not happen before the first write call.
5274 this.sync = true;
ebd8d4e8 5275
ab78acc6
IC
5276 // whenever we return null, then we set a flag to say
5277 // that we're awaiting a 'readable' event emission.
5278 this.needReadable = false;
5279 this.emittedReadable = false;
5280 this.readableListening = false;
ebd8d4e8 5281
ab78acc6
IC
5282
5283 // object stream flag. Used to make read(n) ignore n and to
5284 // make all the buffer merging and length checks go away
5285 this.objectMode = !!options.objectMode;
5286
5287 if (stream instanceof Duplex)
5288 this.objectMode = this.objectMode || !!options.readableObjectMode;
5289
5290 // Crypto is kind of old and crusty. Historically, its default string
5291 // encoding is 'binary' so we have to make this configurable.
5292 // Everything else in the universe uses 'utf8', though.
5293 this.defaultEncoding = options.defaultEncoding || 'utf8';
5294
5295 // when piping, we only care about 'readable' events that happen
5296 // after read()ing all the bytes and not getting any pushback.
5297 this.ranOut = false;
5298
5299 // the number of writers that are awaiting a drain event in .pipe()s
5300 this.awaitDrain = 0;
5301
5302 // if true, a maybeReadMore has been scheduled
5303 this.readingMore = false;
5304
5305 this.decoder = null;
5306 this.encoding = null;
5307 if (options.encoding) {
5308 if (!StringDecoder)
5309 StringDecoder = require('string_decoder/').StringDecoder;
5310 this.decoder = new StringDecoder(options.encoding);
5311 this.encoding = options.encoding;
ebd8d4e8 5312 }
ab78acc6 5313}
ebd8d4e8 5314
ab78acc6
IC
5315function Readable(options) {
5316 var Duplex = require('./_stream_duplex');
5317
5318 if (!(this instanceof Readable))
5319 return new Readable(options);
5320
5321 this._readableState = new ReadableState(options, this);
5322
5323 // legacy
5324 this.readable = true;
5325
5326 Stream.call(this);
5327}
5328
5329// Manually shove something into the read() buffer.
5330// This returns true if the highWaterMark has not been hit yet,
5331// similar to how Writable.write() returns true if you should
5332// write() some more.
5333Readable.prototype.push = function(chunk, encoding) {
5334 var state = this._readableState;
5335
5336 if (util.isString(chunk) && !state.objectMode) {
5337 encoding = encoding || state.defaultEncoding;
5338 if (encoding !== state.encoding) {
5339 chunk = new Buffer(chunk, encoding);
5340 encoding = '';
ebd8d4e8 5341 }
ebd8d4e8
IC
5342 }
5343
ab78acc6 5344 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5345};
5346
ab78acc6
IC
5347// Unshift should *always* be something directly out of read()
5348Readable.prototype.unshift = function(chunk) {
5349 var state = this._readableState;
5350 return readableAddChunk(this, state, chunk, '', true);
5351};
ebd8d4e8 5352
ab78acc6
IC
5353function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5354 var er = chunkInvalid(state, chunk);
5355 if (er) {
5356 stream.emit('error', er);
5357 } else if (util.isNullOrUndefined(chunk)) {
5358 state.reading = false;
5359 if (!state.ended)
5360 onEofChunk(stream, state);
5361 } else if (state.objectMode || chunk && chunk.length > 0) {
5362 if (state.ended && !addToFront) {
5363 var e = new Error('stream.push() after EOF');
5364 stream.emit('error', e);
5365 } else if (state.endEmitted && addToFront) {
5366 var e = new Error('stream.unshift() after end event');
5367 stream.emit('error', e);
ebd8d4e8 5368 } else {
ab78acc6
IC
5369 if (state.decoder && !addToFront && !encoding)
5370 chunk = state.decoder.write(chunk);
5371
5372 if (!addToFront)
5373 state.reading = false;
5374
5375 // if we want the data now, just emit it.
5376 if (state.flowing && state.length === 0 && !state.sync) {
5377 stream.emit('data', chunk);
5378 stream.read(0);
5379 } else {
5380 // update the buffer info.
5381 state.length += state.objectMode ? 1 : chunk.length;
5382 if (addToFront)
5383 state.buffer.unshift(chunk);
5384 else
5385 state.buffer.push(chunk);
5386
5387 if (state.needReadable)
5388 emitReadable(stream);
5389 }
5390
5391 maybeReadMore(stream, state);
ebd8d4e8 5392 }
ab78acc6
IC
5393 } else if (!addToFront) {
5394 state.reading = false;
ebd8d4e8 5395 }
ebd8d4e8 5396
ab78acc6
IC
5397 return needMoreData(state);
5398}
ebd8d4e8 5399
ab78acc6
IC
5400
5401
5402// if it's past the high water mark, we can push in some more.
5403// Also, if we have no data yet, we can stand some
5404// more bytes. This is to work around cases where hwm=0,
5405// such as the repl. Also, if the push() triggered a
5406// readable event, and the user called read(largeNumber) such that
5407// needReadable was set, then we ought to push more, so that another
5408// 'readable' event will be triggered.
5409function needMoreData(state) {
5410 return !state.ended &&
5411 (state.needReadable ||
5412 state.length < state.highWaterMark ||
5413 state.length === 0);
5414}
5415
5416// backwards compatibility.
5417Readable.prototype.setEncoding = function(enc) {
5418 if (!StringDecoder)
5419 StringDecoder = require('string_decoder/').StringDecoder;
5420 this._readableState.decoder = new StringDecoder(enc);
5421 this._readableState.encoding = enc;
5422 return this;
5423};
5424
5425// Don't raise the hwm > 128MB
5426var MAX_HWM = 0x800000;
5427function roundUpToNextPowerOf2(n) {
5428 if (n >= MAX_HWM) {
5429 n = MAX_HWM;
5430 } else {
5431 // Get the next highest power of 2
5432 n--;
5433 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5434 n++;
ebd8d4e8 5435 }
ab78acc6 5436 return n;
ebd8d4e8 5437}
ebd8d4e8 5438
ab78acc6
IC
5439function howMuchToRead(n, state) {
5440 if (state.length === 0 && state.ended)
5441 return 0;
ebd8d4e8 5442
ab78acc6
IC
5443 if (state.objectMode)
5444 return n === 0 ? 0 : 1;
ebd8d4e8 5445
ab78acc6
IC
5446 if (isNaN(n) || util.isNull(n)) {
5447 // only flow one buffer at a time
5448 if (state.flowing && state.buffer.length)
5449 return state.buffer[0].length;
5450 else
5451 return state.length;
5452 }
ebd8d4e8 5453
ab78acc6
IC
5454 if (n <= 0)
5455 return 0;
ebd8d4e8 5456
ab78acc6
IC
5457 // If we're asking for more than the target buffer level,
5458 // then raise the water mark. Bump up to the next highest
5459 // power of 2, to prevent increasing it excessively in tiny
5460 // amounts.
5461 if (n > state.highWaterMark)
5462 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5463
ab78acc6
IC
5464 // don't have that much. return null, unless we've ended.
5465 if (n > state.length) {
5466 if (!state.ended) {
5467 state.needReadable = true;
5468 return 0;
5469 } else
5470 return state.length;
ebd8d4e8 5471 }
ab78acc6
IC
5472
5473 return n;
ebd8d4e8
IC
5474}
5475
ab78acc6
IC
5476// you can override either this method, or the async _read(n) below.
5477Readable.prototype.read = function(n) {
5478 debug('read', n);
5479 var state = this._readableState;
5480 var nOrig = n;
ebd8d4e8 5481
ab78acc6
IC
5482 if (!util.isNumber(n) || n > 0)
5483 state.emittedReadable = false;
5484
5485 // if we're doing read(0) to trigger a readable event, but we
5486 // already have a bunch of data in the buffer, then just trigger
5487 // the 'readable' event and move on.
5488 if (n === 0 &&
5489 state.needReadable &&
5490 (state.length >= state.highWaterMark || state.ended)) {
5491 debug('read: emitReadable', state.length, state.ended);
5492 if (state.length === 0 && state.ended)
5493 endReadable(this);
5494 else
5495 emitReadable(this);
5496 return null;
5497 }
5498
5499 n = howMuchToRead(n, state);
5500
5501 // if we've ended, and we're now clear, then finish it up.
5502 if (n === 0 && state.ended) {
5503 if (state.length === 0)
5504 endReadable(this);
5505 return null;
5506 }
5507
5508 // All the actual chunk generation logic needs to be
5509 // *below* the call to _read. The reason is that in certain
5510 // synthetic stream cases, such as passthrough streams, _read
5511 // may be a completely synchronous operation which may change
5512 // the state of the read buffer, providing enough data when
5513 // before there was *not* enough.
5514 //
5515 // So, the steps are:
5516 // 1. Figure out what the state of things will be after we do
5517 // a read from the buffer.
5518 //
5519 // 2. If that resulting state will trigger a _read, then call _read.
5520 // Note that this may be asynchronous, or synchronous. Yes, it is
5521 // deeply ugly to write APIs this way, but that still doesn't mean
5522 // that the Readable class should behave improperly, as streams are
5523 // designed to be sync/async agnostic.
5524 // Take note if the _read call is sync or async (ie, if the read call
5525 // has returned yet), so that we know whether or not it's safe to emit
5526 // 'readable' etc.
5527 //
5528 // 3. Actually pull the requested chunks out of the buffer and return.
5529
5530 // if we need a readable event, then we need to do some reading.
5531 var doRead = state.needReadable;
5532 debug('need readable', doRead);
5533
5534 // if we currently have less than the highWaterMark, then also read some
5535 if (state.length === 0 || state.length - n < state.highWaterMark) {
5536 doRead = true;
5537 debug('length less than watermark', doRead);
5538 }
5539
5540 // however, if we've ended, then there's no point, and if we're already
5541 // reading, then it's unnecessary.
5542 if (state.ended || state.reading) {
5543 doRead = false;
5544 debug('reading or ended', doRead);
5545 }
5546
5547 if (doRead) {
5548 debug('do read');
5549 state.reading = true;
5550 state.sync = true;
5551 // if the length is currently zero, then we *need* a readable event.
5552 if (state.length === 0)
5553 state.needReadable = true;
5554 // call internal read method
5555 this._read(state.highWaterMark);
5556 state.sync = false;
5557 }
5558
5559 // If _read pushed data synchronously, then `reading` will be false,
5560 // and we need to re-evaluate how much data we can return to the user.
5561 if (doRead && !state.reading)
5562 n = howMuchToRead(nOrig, state);
5563
5564 var ret;
5565 if (n > 0)
5566 ret = fromList(n, state);
5567 else
5568 ret = null;
ebd8d4e8 5569
ab78acc6
IC
5570 if (util.isNull(ret)) {
5571 state.needReadable = true;
5572 n = 0;
5573 }
ebd8d4e8 5574
ab78acc6 5575 state.length -= n;
ebd8d4e8 5576
ab78acc6
IC
5577 // If we have nothing in the buffer, then we want to know
5578 // as soon as we *do* get something into the buffer.
5579 if (state.length === 0 && !state.ended)
5580 state.needReadable = true;
ebd8d4e8 5581
ab78acc6
IC
5582 // If we tried to read() past the EOF, then emit end on the next tick.
5583 if (nOrig !== n && state.ended && state.length === 0)
5584 endReadable(this);
5585
5586 if (!util.isNull(ret))
5587 this.emit('data', ret);
5588
5589 return ret;
5590};
5591
5592function chunkInvalid(state, chunk) {
5593 var er = null;
5594 if (!util.isBuffer(chunk) &&
5595 !util.isString(chunk) &&
5596 !util.isNullOrUndefined(chunk) &&
5597 !state.objectMode) {
5598 er = new TypeError('Invalid non-string/buffer chunk');
5599 }
5600 return er;
ebd8d4e8
IC
5601}
5602
5603
ab78acc6
IC
5604function onEofChunk(stream, state) {
5605 if (state.decoder && !state.ended) {
5606 var chunk = state.decoder.end();
5607 if (chunk && chunk.length) {
5608 state.buffer.push(chunk);
5609 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5610 }
ebd8d4e8 5611 }
ab78acc6 5612 state.ended = true;
ebd8d4e8 5613
ab78acc6
IC
5614 // emit 'readable' now to make sure it gets picked up.
5615 emitReadable(stream);
5616}
5617
5618// Don't emit readable right away in sync mode, because this can trigger
5619// another read() call => stack overflow. This way, it might trigger
5620// a nextTick recursion warning, but that's not so bad.
5621function emitReadable(stream) {
5622 var state = stream._readableState;
5623 state.needReadable = false;
5624 if (!state.emittedReadable) {
5625 debug('emitReadable', state.flowing);
5626 state.emittedReadable = true;
5627 if (state.sync)
5628 process.nextTick(function() {
5629 emitReadable_(stream);
5630 });
5631 else
5632 emitReadable_(stream);
ebd8d4e8 5633 }
ab78acc6 5634}
ebd8d4e8 5635
ab78acc6
IC
5636function emitReadable_(stream) {
5637 debug('emit readable');
5638 stream.emit('readable');
5639 flow(stream);
5640}
ebd8d4e8 5641
ab78acc6
IC
5642
5643// at this point, the user has presumably seen the 'readable' event,
5644// and called read() to consume some data. that may have triggered
5645// in turn another _read(n) call, in which case reading = true if
5646// it's in progress.
5647// However, if we're not ended, or reading, and the length < hwm,
5648// then go ahead and try to read some more preemptively.
5649function maybeReadMore(stream, state) {
5650 if (!state.readingMore) {
5651 state.readingMore = true;
5652 process.nextTick(function() {
5653 maybeReadMore_(stream, state);
5654 });
ebd8d4e8 5655 }
ab78acc6 5656}
ebd8d4e8 5657
ab78acc6
IC
5658function maybeReadMore_(stream, state) {
5659 var len = state.length;
5660 while (!state.reading && !state.flowing && !state.ended &&
5661 state.length < state.highWaterMark) {
5662 debug('maybeReadMore read 0');
5663 stream.read(0);
5664 if (len === state.length)
5665 // didn't get any data, stop spinning.
5666 break;
5667 else
5668 len = state.length;
ebd8d4e8 5669 }
ab78acc6
IC
5670 state.readingMore = false;
5671}
ebd8d4e8 5672
ab78acc6
IC
5673// abstract method. to be overridden in specific implementation classes.
5674// call cb(er, data) where data is <= n in length.
5675// for virtual (non-string, non-buffer) streams, "length" is somewhat
5676// arbitrary, and perhaps not very meaningful.
5677Readable.prototype._read = function(n) {
5678 this.emit('error', new Error('not implemented'));
5679};
5680
5681Readable.prototype.pipe = function(dest, pipeOpts) {
5682 var src = this;
5683 var state = this._readableState;
5684
5685 switch (state.pipesCount) {
5686 case 0:
5687 state.pipes = dest;
5688 break;
5689 case 1:
5690 state.pipes = [state.pipes, dest];
5691 break;
5692 default:
5693 state.pipes.push(dest);
5694 break;
ebd8d4e8 5695 }
ab78acc6
IC
5696 state.pipesCount += 1;
5697 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5698
ab78acc6
IC
5699 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5700 dest !== process.stdout &&
5701 dest !== process.stderr;
ebd8d4e8 5702
ab78acc6
IC
5703 var endFn = doEnd ? onend : cleanup;
5704 if (state.endEmitted)
5705 process.nextTick(endFn);
5706 else
5707 src.once('end', endFn);
5708
5709 dest.on('unpipe', onunpipe);
5710 function onunpipe(readable) {
5711 debug('onunpipe');
5712 if (readable === src) {
5713 cleanup();
5714 }
5715 }
5716
5717 function onend() {
5718 debug('onend');
5719 dest.end();
5720 }
5721
5722 // when the dest drains, it reduces the awaitDrain counter
5723 // on the source. This would be more elegant with a .once()
5724 // handler in flow(), but adding and removing repeatedly is
5725 // too slow.
5726 var ondrain = pipeOnDrain(src);
5727 dest.on('drain', ondrain);
5728
5729 function cleanup() {
5730 debug('cleanup');
5731 // cleanup event handlers once the pipe is broken
5732 dest.removeListener('close', onclose);
5733 dest.removeListener('finish', onfinish);
5734 dest.removeListener('drain', ondrain);
5735 dest.removeListener('error', onerror);
5736 dest.removeListener('unpipe', onunpipe);
5737 src.removeListener('end', onend);
5738 src.removeListener('end', cleanup);
5739 src.removeListener('data', ondata);
5740
5741 // if the reader is waiting for a drain event from this
5742 // specific writer, then it would cause it to never start
5743 // flowing again.
5744 // So, if this is awaiting a drain, then we just call it now.
5745 // If we don't know, then assume that we are waiting for one.
5746 if (state.awaitDrain &&
5747 (!dest._writableState || dest._writableState.needDrain))
5748 ondrain();
5749 }
5750
5751 src.on('data', ondata);
5752 function ondata(chunk) {
5753 debug('ondata');
5754 var ret = dest.write(chunk);
5755 if (false === ret) {
5756 debug('false write response, pause',
5757 src._readableState.awaitDrain);
5758 src._readableState.awaitDrain++;
5759 src.pause();
5760 }
5761 }
5762
5763 // if the dest has an error, then stop piping into it.
5764 // however, don't suppress the throwing behavior for this.
5765 function onerror(er) {
5766 debug('onerror', er);
5767 unpipe();
5768 dest.removeListener('error', onerror);
5769 if (EE.listenerCount(dest, 'error') === 0)
5770 dest.emit('error', er);
5771 }
5772 // This is a brutally ugly hack to make sure that our error handler
5773 // is attached before any userland ones. NEVER DO THIS.
5774 if (!dest._events || !dest._events.error)
5775 dest.on('error', onerror);
5776 else if (isArray(dest._events.error))
5777 dest._events.error.unshift(onerror);
5778 else
5779 dest._events.error = [onerror, dest._events.error];
5780
5781
5782
5783 // Both close and finish should trigger unpipe, but only once.
5784 function onclose() {
5785 dest.removeListener('finish', onfinish);
5786 unpipe();
ebd8d4e8 5787 }
ab78acc6
IC
5788 dest.once('close', onclose);
5789 function onfinish() {
5790 debug('onfinish');
5791 dest.removeListener('close', onclose);
5792 unpipe();
5793 }
5794 dest.once('finish', onfinish);
ebd8d4e8 5795
ab78acc6
IC
5796 function unpipe() {
5797 debug('unpipe');
5798 src.unpipe(dest);
ebd8d4e8
IC
5799 }
5800
ab78acc6
IC
5801 // tell the dest that it's being piped to
5802 dest.emit('pipe', src);
5803
5804 // start the flow if it hasn't been started already.
5805 if (!state.flowing) {
5806 debug('pipe resume');
5807 src.resume();
ebd8d4e8
IC
5808 }
5809
ab78acc6
IC
5810 return dest;
5811};
5812
5813function pipeOnDrain(src) {
5814 return function() {
5815 var state = src._readableState;
5816 debug('pipeOnDrain', state.awaitDrain);
5817 if (state.awaitDrain)
5818 state.awaitDrain--;
5819 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5820 state.flowing = true;
5821 flow(src);
5822 }
5823 };
5824}
5825
5826
5827Readable.prototype.unpipe = function(dest) {
5828 var state = this._readableState;
5829
5830 // if we're not piping anywhere, then do nothing.
5831 if (state.pipesCount === 0)
5832 return this;
5833
5834 // just one destination. most common case.
5835 if (state.pipesCount === 1) {
5836 // passed in one, but it's not the right one.
5837 if (dest && dest !== state.pipes)
5838 return this;
5839
5840 if (!dest)
5841 dest = state.pipes;
5842
5843 // got a match.
5844 state.pipes = null;
5845 state.pipesCount = 0;
5846 state.flowing = false;
5847 if (dest)
5848 dest.emit('unpipe', this);
5849 return this;
ebd8d4e8
IC
5850 }
5851
ab78acc6
IC
5852 // slow case. multiple pipe destinations.
5853
5854 if (!dest) {
5855 // remove all.
5856 var dests = state.pipes;
5857 var len = state.pipesCount;
5858 state.pipes = null;
5859 state.pipesCount = 0;
5860 state.flowing = false;
5861
5862 for (var i = 0; i < len; i++)
5863 dests[i].emit('unpipe', this);
5864 return this;
ebd8d4e8
IC
5865 }
5866
ab78acc6
IC
5867 // try to find the right one.
5868 var i = indexOf(state.pipes, dest);
5869 if (i === -1)
5870 return this;
5871
5872 state.pipes.splice(i, 1);
5873 state.pipesCount -= 1;
5874 if (state.pipesCount === 1)
5875 state.pipes = state.pipes[0];
5876
5877 dest.emit('unpipe', this);
ebd8d4e8 5878
ab78acc6
IC
5879 return this;
5880};
5881
5882// set up data events if they are asked for
5883// Ensure readable listeners eventually get something
5884Readable.prototype.on = function(ev, fn) {
5885 var res = Stream.prototype.on.call(this, ev, fn);
5886
5887 // If listening to data, and it has not explicitly been paused,
5888 // then call resume to start the flow of data on the next tick.
5889 if (ev === 'data' && false !== this._readableState.flowing) {
5890 this.resume();
5891 }
5892
5893 if (ev === 'readable' && this.readable) {
5894 var state = this._readableState;
5895 if (!state.readableListening) {
5896 state.readableListening = true;
5897 state.emittedReadable = false;
5898 state.needReadable = true;
5899 if (!state.reading) {
5900 var self = this;
5901 process.nextTick(function() {
5902 debug('readable nexttick read 0');
5903 self.read(0);
5904 });
5905 } else if (state.length) {
5906 emitReadable(this, state);
5907 }
ebd8d4e8
IC
5908 }
5909 }
5910
ab78acc6
IC
5911 return res;
5912};
5913Readable.prototype.addListener = Readable.prototype.on;
5914
5915// pause() and resume() are remnants of the legacy readable stream API
5916// If the user uses them, then switch into old mode.
5917Readable.prototype.resume = function() {
5918 var state = this._readableState;
5919 if (!state.flowing) {
5920 debug('resume');
5921 state.flowing = true;
5922 if (!state.reading) {
5923 debug('resume read 0');
5924 this.read(0);
5925 }
5926 resume(this, state);
5927 }
5928 return this;
5929};
ebd8d4e8 5930
ab78acc6
IC
5931function resume(stream, state) {
5932 if (!state.resumeScheduled) {
5933 state.resumeScheduled = true;
5934 process.nextTick(function() {
5935 resume_(stream, state);
ebd8d4e8
IC
5936 });
5937 }
ebd8d4e8
IC
5938}
5939
ab78acc6
IC
5940function resume_(stream, state) {
5941 state.resumeScheduled = false;
5942 stream.emit('resume');
5943 flow(stream);
5944 if (state.flowing && !state.reading)
5945 stream.read(0);
ebd8d4e8
IC
5946}
5947
ab78acc6
IC
5948Readable.prototype.pause = function() {
5949 debug('call pause flowing=%j', this._readableState.flowing);
5950 if (false !== this._readableState.flowing) {
5951 debug('pause');
5952 this._readableState.flowing = false;
5953 this.emit('pause');
5954 }
5955 return this;
5956};
ebd8d4e8 5957
ab78acc6
IC
5958function flow(stream) {
5959 var state = stream._readableState;
5960 debug('flow', state.flowing);
5961 if (state.flowing) {
5962 do {
5963 var chunk = stream.read();
5964 } while (null !== chunk && state.flowing);
5965 }
ebd8d4e8
IC
5966}
5967
ab78acc6
IC
5968// wrap an old-style stream as the async data source.
5969// This is *not* part of the readable stream interface.
5970// It is an ugly unfortunate mess of history.
5971Readable.prototype.wrap = function(stream) {
5972 var state = this._readableState;
5973 var paused = false;
ebd8d4e8 5974
ab78acc6
IC
5975 var self = this;
5976 stream.on('end', function() {
5977 debug('wrapped end');
5978 if (state.decoder && !state.ended) {
5979 var chunk = state.decoder.end();
5980 if (chunk && chunk.length)
5981 self.push(chunk);
ebd8d4e8 5982 }
ab78acc6
IC
5983
5984 self.push(null);
ebd8d4e8 5985 });
ebd8d4e8 5986
ab78acc6
IC
5987 stream.on('data', function(chunk) {
5988 debug('wrapped data');
5989 if (state.decoder)
5990 chunk = state.decoder.write(chunk);
5991 if (!chunk || !state.objectMode && !chunk.length)
5992 return;
ebd8d4e8 5993
ab78acc6
IC
5994 var ret = self.push(chunk);
5995 if (!ret) {
5996 paused = true;
5997 stream.pause();
ebd8d4e8 5998 }
ab78acc6
IC
5999 });
6000
6001 // proxy all the other methods.
6002 // important when wrapping filters and duplexes.
6003 for (var i in stream) {
6004 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6005 this[i] = function(method) { return function() {
6006 return stream[method].apply(stream, arguments);
6007 }}(i);
ebd8d4e8
IC
6008 }
6009 }
ab78acc6
IC
6010
6011 // proxy certain important events.
6012 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6013 forEach(events, function(ev) {
6014 stream.on(ev, self.emit.bind(self, ev));
6015 });
6016
6017 // when we try to consume some more bytes, simply unpause the
6018 // underlying stream.
6019 self._read = function(n) {
6020 debug('wrapped _read', n);
6021 if (paused) {
6022 paused = false;
6023 stream.resume();
ebd8d4e8 6024 }
ab78acc6
IC
6025 };
6026
6027 return self;
6028};
6029
6030
6031
6032// exposed for testing purposes only.
6033Readable._fromList = fromList;
6034
6035// Pluck off n bytes from an array of buffers.
6036// Length is the combined lengths of all the buffers in the list.
6037function fromList(n, state) {
6038 var list = state.buffer;
6039 var length = state.length;
6040 var stringMode = !!state.decoder;
6041 var objectMode = !!state.objectMode;
6042 var ret;
6043
6044 // nothing in the list, definitely empty.
6045 if (list.length === 0)
6046 return null;
6047
6048 if (length === 0)
6049 ret = null;
6050 else if (objectMode)
6051 ret = list.shift();
6052 else if (!n || n >= length) {
6053 // read it all, truncate the array.
6054 if (stringMode)
6055 ret = list.join('');
6056 else
6057 ret = Buffer.concat(list, length);
6058 list.length = 0;
6059 } else {
6060 // read just some of it.
6061 if (n < list[0].length) {
6062 // just take a part of the first list item.
6063 // slice is the same for buffers and strings.
6064 var buf = list[0];
6065 ret = buf.slice(0, n);
6066 list[0] = buf.slice(n);
6067 } else if (n === list[0].length) {
6068 // first list is a perfect match
6069 ret = list.shift();
ebd8d4e8 6070 } else {
ab78acc6
IC
6071 // complex case.
6072 // we have enough to cover it, but it spans past the first buffer.
6073 if (stringMode)
6074 ret = '';
6075 else
6076 ret = new Buffer(n);
ebd8d4e8 6077
ab78acc6
IC
6078 var c = 0;
6079 for (var i = 0, l = list.length; i < l && c < n; i++) {
6080 var buf = list[0];
6081 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6082
ab78acc6
IC
6083 if (stringMode)
6084 ret += buf.slice(0, cpy);
6085 else
6086 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6087
ab78acc6
IC
6088 if (cpy < buf.length)
6089 list[0] = buf.slice(cpy);
6090 else
6091 list.shift();
ebd8d4e8 6092
ab78acc6
IC
6093 c += cpy;
6094 }
6095 }
ebd8d4e8
IC
6096 }
6097
ab78acc6 6098 return ret;
ebd8d4e8
IC
6099}
6100
ab78acc6
IC
6101function endReadable(stream) {
6102 var state = stream._readableState;
ebd8d4e8 6103
ab78acc6
IC
6104 // If we get here before consuming all the bytes, then that is a
6105 // bug in node. Should never happen.
6106 if (state.length > 0)
6107 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6108
ab78acc6
IC
6109 if (!state.endEmitted) {
6110 state.ended = true;
6111 process.nextTick(function() {
6112 // Check that we didn't get one last unshift.
6113 if (!state.endEmitted && state.length === 0) {
6114 state.endEmitted = true;
6115 stream.readable = false;
6116 stream.emit('end');
6117 }
6118 });
6119 }
ebd8d4e8 6120}
ebd8d4e8 6121
ab78acc6
IC
6122function forEach (xs, f) {
6123 for (var i = 0, l = xs.length; i < l; i++) {
6124 f(xs[i], i);
6125 }
ebd8d4e8 6126}
ebd8d4e8 6127
ab78acc6
IC
6128function indexOf (xs, x) {
6129 for (var i = 0, l = xs.length; i < l; i++) {
6130 if (xs[i] === x) return i;
6131 }
6132 return -1;
ebd8d4e8 6133}
ebd8d4e8 6134
ab78acc6
IC
6135}).call(this,require('_process'))
6136},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"events":11,"inherits":12,"isarray":13,"stream":26,"string_decoder/":27,"util":6}],19:[function(require,module,exports){
6137// Copyright Joyent, Inc. and other Node contributors.
6138//
6139// Permission is hereby granted, free of charge, to any person obtaining a
6140// copy of this software and associated documentation files (the
6141// "Software"), to deal in the Software without restriction, including
6142// without limitation the rights to use, copy, modify, merge, publish,
6143// distribute, sublicense, and/or sell copies of the Software, and to permit
6144// persons to whom the Software is furnished to do so, subject to the
6145// following conditions:
6146//
6147// The above copyright notice and this permission notice shall be included
6148// in all copies or substantial portions of the Software.
6149//
6150// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6151// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6152// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6153// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6154// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6155// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6156// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6157
ebd8d4e8 6158
ab78acc6
IC
6159// a transform stream is a readable/writable stream where you do
6160// something with the data. Sometimes it's called a "filter",
6161// but that's not a great name for it, since that implies a thing where
6162// some bits pass through, and others are simply ignored. (That would
6163// be a valid example of a transform, of course.)
6164//
6165// While the output is causally related to the input, it's not a
6166// necessarily symmetric or synchronous transformation. For example,
6167// a zlib stream might take multiple plain-text writes(), and then
6168// emit a single compressed chunk some time in the future.
6169//
6170// Here's how this works:
6171//
6172// The Transform stream has all the aspects of the readable and writable
6173// stream classes. When you write(chunk), that calls _write(chunk,cb)
6174// internally, and returns false if there's a lot of pending writes
6175// buffered up. When you call read(), that calls _read(n) until
6176// there's enough pending readable data buffered up.
6177//
6178// In a transform stream, the written data is placed in a buffer. When
6179// _read(n) is called, it transforms the queued up data, calling the
6180// buffered _write cb's as it consumes chunks. If consuming a single
6181// written chunk would result in multiple output chunks, then the first
6182// outputted bit calls the readcb, and subsequent chunks just go into
6183// the read buffer, and will cause it to emit 'readable' if necessary.
6184//
6185// This way, back-pressure is actually determined by the reading side,
6186// since _read has to be called to start processing a new chunk. However,
6187// a pathological inflate type of transform can cause excessive buffering
6188// here. For example, imagine a stream where every byte of input is
6189// interpreted as an integer from 0-255, and then results in that many
6190// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6191// 1kb of data being output. In this case, you could write a very small
6192// amount of input, and end up with a very large amount of output. In
6193// such a pathological inflating mechanism, there'd be no way to tell
6194// the system to stop doing the transform. A single 4MB write could
6195// cause the system to run out of memory.
6196//
6197// However, even in such a pathological case, only a single written chunk
6198// would be consumed, and then the rest would wait (un-transformed) until
6199// the results of the previous transformed chunk were consumed.
ebd8d4e8 6200
ab78acc6 6201module.exports = Transform;
ebd8d4e8 6202
ab78acc6 6203var Duplex = require('./_stream_duplex');
ebd8d4e8 6204
ab78acc6
IC
6205/*<replacement>*/
6206var util = require('core-util-is');
6207util.inherits = require('inherits');
6208/*</replacement>*/
6209
6210util.inherits(Transform, Duplex);
6211
6212
6213function TransformState(options, stream) {
6214 this.afterTransform = function(er, data) {
6215 return afterTransform(stream, er, data);
6216 };
6217
6218 this.needTransform = false;
6219 this.transforming = false;
6220 this.writecb = null;
6221 this.writechunk = null;
ebd8d4e8 6222}
ebd8d4e8 6223
ab78acc6
IC
6224function afterTransform(stream, er, data) {
6225 var ts = stream._transformState;
6226 ts.transforming = false;
6227
6228 var cb = ts.writecb;
6229
6230 if (!cb)
6231 return stream.emit('error', new Error('no writecb in Transform class'));
6232
6233 ts.writechunk = null;
6234 ts.writecb = null;
6235
6236 if (!util.isNullOrUndefined(data))
6237 stream.push(data);
6238
6239 if (cb)
6240 cb(er);
6241
6242 var rs = stream._readableState;
6243 rs.reading = false;
6244 if (rs.needReadable || rs.length < rs.highWaterMark) {
6245 stream._read(rs.highWaterMark);
6246 }
ebd8d4e8 6247}
ebd8d4e8 6248
ab78acc6
IC
6249
6250function Transform(options) {
6251 if (!(this instanceof Transform))
6252 return new Transform(options);
6253
6254 Duplex.call(this, options);
6255
6256 this._transformState = new TransformState(options, this);
6257
6258 // when the writable side finishes, then flush out anything remaining.
6259 var stream = this;
6260
6261 // start out asking for a readable event once data is transformed.
6262 this._readableState.needReadable = true;
6263
6264 // we have implemented the _read method, and done the other things
6265 // that Readable wants before the first _read call, so unset the
6266 // sync guard flag.
6267 this._readableState.sync = false;
6268
6269 this.once('prefinish', function() {
6270 if (util.isFunction(this._flush))
6271 this._flush(function(er) {
6272 done(stream, er);
6273 });
6274 else
6275 done(stream);
6276 });
ebd8d4e8 6277}
ebd8d4e8 6278
ab78acc6
IC
6279Transform.prototype.push = function(chunk, encoding) {
6280 this._transformState.needTransform = false;
6281 return Duplex.prototype.push.call(this, chunk, encoding);
6282};
6283
6284// This is the part where you do stuff!
6285// override this function in implementation classes.
6286// 'chunk' is an input chunk.
6287//
6288// Call `push(newChunk)` to pass along transformed output
6289// to the readable side. You may call 'push' zero or more times.
6290//
6291// Call `cb(err)` when you are done with this chunk. If you pass
6292// an error, then that'll put the hurt on the whole operation. If you
6293// never call cb(), then you'll never get another chunk.
6294Transform.prototype._transform = function(chunk, encoding, cb) {
6295 throw new Error('not implemented');
6296};
6297
6298Transform.prototype._write = function(chunk, encoding, cb) {
6299 var ts = this._transformState;
6300 ts.writecb = cb;
6301 ts.writechunk = chunk;
6302 ts.writeencoding = encoding;
6303 if (!ts.transforming) {
6304 var rs = this._readableState;
6305 if (ts.needTransform ||
6306 rs.needReadable ||
6307 rs.length < rs.highWaterMark)
6308 this._read(rs.highWaterMark);
6309 }
6310};
6311
6312// Doesn't matter what the args are here.
6313// _transform does all the work.
6314// That we got here means that the readable side wants more data.
6315Transform.prototype._read = function(n) {
6316 var ts = this._transformState;
ebd8d4e8 6317
ab78acc6
IC
6318 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6319 ts.transforming = true;
6320 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6321 } else {
6322 // mark that we need a transform, so that any data that comes in
6323 // will get processed, now that we've asked for it.
6324 ts.needTransform = true;
6325 }
6326};
ebd8d4e8 6327
ebd8d4e8 6328
ab78acc6
IC
6329function done(stream, er) {
6330 if (er)
6331 return stream.emit('error', er);
ebd8d4e8 6332
ab78acc6
IC
6333 // if there's nothing in the write buffer, then that means
6334 // that nothing more will ever be provided
6335 var ws = stream._writableState;
6336 var ts = stream._transformState;
ebd8d4e8 6337
ab78acc6
IC
6338 if (ws.length)
6339 throw new Error('calling transform done when ws.length != 0');
6340
6341 if (ts.transforming)
6342 throw new Error('calling transform done when still transforming');
6343
6344 return stream.push(null);
ebd8d4e8
IC
6345}
6346
ab78acc6
IC
6347},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6348(function (process){
6349// Copyright Joyent, Inc. and other Node contributors.
6350//
6351// Permission is hereby granted, free of charge, to any person obtaining a
6352// copy of this software and associated documentation files (the
6353// "Software"), to deal in the Software without restriction, including
6354// without limitation the rights to use, copy, modify, merge, publish,
6355// distribute, sublicense, and/or sell copies of the Software, and to permit
6356// persons to whom the Software is furnished to do so, subject to the
6357// following conditions:
6358//
6359// The above copyright notice and this permission notice shall be included
6360// in all copies or substantial portions of the Software.
6361//
6362// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6363// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6364// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6365// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6366// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6367// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6368// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6369
ab78acc6
IC
6370// A bit simpler than readable streams.
6371// Implement an async ._write(chunk, cb), and it'll handle all
6372// the drain event emission and buffering.
ebd8d4e8 6373
ab78acc6 6374module.exports = Writable;
ebd8d4e8 6375
ab78acc6
IC
6376/*<replacement>*/
6377var Buffer = require('buffer').Buffer;
6378/*</replacement>*/
ebd8d4e8 6379
ab78acc6 6380Writable.WritableState = WritableState;
ebd8d4e8
IC
6381
6382
ab78acc6
IC
6383/*<replacement>*/
6384var util = require('core-util-is');
6385util.inherits = require('inherits');
6386/*</replacement>*/
ebd8d4e8 6387
ab78acc6 6388var Stream = require('stream');
ebd8d4e8 6389
ab78acc6 6390util.inherits(Writable, Stream);
ebd8d4e8 6391
ab78acc6
IC
6392function WriteReq(chunk, encoding, cb) {
6393 this.chunk = chunk;
6394 this.encoding = encoding;
6395 this.callback = cb;
ebd8d4e8
IC
6396}
6397
ab78acc6
IC
6398function WritableState(options, stream) {
6399 var Duplex = require('./_stream_duplex');
ebd8d4e8 6400
ab78acc6 6401 options = options || {};
ebd8d4e8 6402
ab78acc6
IC
6403 // the point at which write() starts returning false
6404 // Note: 0 is a valid value, means that we always return false if
6405 // the entire buffer is not flushed immediately on write()
6406 var hwm = options.highWaterMark;
6407 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6408 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6409
ab78acc6
IC
6410 // object stream flag to indicate whether or not this stream
6411 // contains buffers or objects.
6412 this.objectMode = !!options.objectMode;
ebd8d4e8 6413
ab78acc6
IC
6414 if (stream instanceof Duplex)
6415 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6416
ab78acc6
IC
6417 // cast to ints.
6418 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6419
ab78acc6
IC
6420 this.needDrain = false;
6421 // at the start of calling end()
6422 this.ending = false;
6423 // when end() has been called, and returned
6424 this.ended = false;
6425 // when 'finish' is emitted
6426 this.finished = false;
ebd8d4e8 6427
ab78acc6
IC
6428 // should we decode strings into buffers before passing to _write?
6429 // this is here so that some node-core streams can optimize string
6430 // handling at a lower level.
6431 var noDecode = options.decodeStrings === false;
6432 this.decodeStrings = !noDecode;
ebd8d4e8 6433
ab78acc6
IC
6434 // Crypto is kind of old and crusty. Historically, its default string
6435 // encoding is 'binary' so we have to make this configurable.
6436 // Everything else in the universe uses 'utf8', though.
6437 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6438
ab78acc6
IC
6439 // not an actual buffer we keep track of, but a measurement
6440 // of how much we're waiting to get pushed to some underlying
6441 // socket or file.
6442 this.length = 0;
ebd8d4e8 6443
ab78acc6
IC
6444 // a flag to see when we're in the middle of a write.
6445 this.writing = false;
ebd8d4e8 6446
ab78acc6
IC
6447 // when true all writes will be buffered until .uncork() call
6448 this.corked = 0;
ebd8d4e8 6449
ab78acc6
IC
6450 // a flag to be able to tell if the onwrite cb is called immediately,
6451 // or on a later tick. We set this to true at first, because any
6452 // actions that shouldn't happen until "later" should generally also
6453 // not happen before the first write call.
6454 this.sync = true;
ebd8d4e8 6455
ab78acc6
IC
6456 // a flag to know if we're processing previously buffered items, which
6457 // may call the _write() callback in the same tick, so that we don't
6458 // end up in an overlapped onwrite situation.
6459 this.bufferProcessing = false;
ebd8d4e8 6460
ab78acc6
IC
6461 // the callback that's passed to _write(chunk,cb)
6462 this.onwrite = function(er) {
6463 onwrite(stream, er);
6464 };
ebd8d4e8 6465
ab78acc6
IC
6466 // the callback that the user supplies to write(chunk,encoding,cb)
6467 this.writecb = null;
ebd8d4e8 6468
ab78acc6
IC
6469 // the amount that is being written when _write is called.
6470 this.writelen = 0;
ebd8d4e8 6471
ab78acc6 6472 this.buffer = [];
ebd8d4e8 6473
ab78acc6
IC
6474 // number of pending user-supplied write callbacks
6475 // this must be 0 before 'finish' can be emitted
6476 this.pendingcb = 0;
ebd8d4e8 6477
ab78acc6
IC
6478 // emit prefinish if the only thing we're waiting for is _write cbs
6479 // This is relevant for synchronous Transform streams
6480 this.prefinished = false;
ebd8d4e8 6481
ab78acc6
IC
6482 // True if the error was already emitted and should not be thrown again
6483 this.errorEmitted = false;
ebd8d4e8
IC
6484}
6485
ab78acc6
IC
6486function Writable(options) {
6487 var Duplex = require('./_stream_duplex');
ebd8d4e8 6488
ab78acc6
IC
6489 // Writable ctor is applied to Duplexes, though they're not
6490 // instanceof Writable, they're instanceof Readable.
6491 if (!(this instanceof Writable) && !(this instanceof Duplex))
6492 return new Writable(options);
ebd8d4e8 6493
ab78acc6 6494 this._writableState = new WritableState(options, this);
ebd8d4e8 6495
ab78acc6
IC
6496 // legacy.
6497 this.writable = true;
ebd8d4e8 6498
ab78acc6 6499 Stream.call(this);
ebd8d4e8
IC
6500}
6501
ab78acc6
IC
6502// Otherwise people can pipe Writable streams, which is just wrong.
6503Writable.prototype.pipe = function() {
6504 this.emit('error', new Error('Cannot pipe. Not readable.'));
6505};
ebd8d4e8 6506
ebd8d4e8 6507
ab78acc6
IC
6508function writeAfterEnd(stream, state, cb) {
6509 var er = new Error('write after end');
6510 // TODO: defer error events consistently everywhere, not just the cb
6511 stream.emit('error', er);
6512 process.nextTick(function() {
6513 cb(er);
6514 });
ebd8d4e8
IC
6515}
6516
ab78acc6
IC
6517// If we get something that is not a buffer, string, null, or undefined,
6518// and we're not in objectMode, then that's an error.
6519// Otherwise stream chunks are all considered to be of length=1, and the
6520// watermarks determine how many objects to keep in the buffer, rather than
6521// how many bytes or characters.
6522function validChunk(stream, state, chunk, cb) {
6523 var valid = true;
6524 if (!util.isBuffer(chunk) &&
6525 !util.isString(chunk) &&
6526 !util.isNullOrUndefined(chunk) &&
6527 !state.objectMode) {
6528 var er = new TypeError('Invalid non-string/buffer chunk');
6529 stream.emit('error', er);
6530 process.nextTick(function() {
6531 cb(er);
6532 });
6533 valid = false;
6534 }
6535 return valid;
ebd8d4e8
IC
6536}
6537
ab78acc6
IC
6538Writable.prototype.write = function(chunk, encoding, cb) {
6539 var state = this._writableState;
6540 var ret = false;
ebd8d4e8 6541
ab78acc6
IC
6542 if (util.isFunction(encoding)) {
6543 cb = encoding;
6544 encoding = null;
ebd8d4e8 6545 }
ebd8d4e8 6546
ab78acc6
IC
6547 if (util.isBuffer(chunk))
6548 encoding = 'buffer';
6549 else if (!encoding)
6550 encoding = state.defaultEncoding;
6551
6552 if (!util.isFunction(cb))
6553 cb = function() {};
6554
6555 if (state.ended)
6556 writeAfterEnd(this, state, cb);
6557 else if (validChunk(this, state, chunk, cb)) {
6558 state.pendingcb++;
6559 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6560 }
ebd8d4e8 6561
ab78acc6
IC
6562 return ret;
6563};
6564
6565Writable.prototype.cork = function() {
6566 var state = this._writableState;
6567
6568 state.corked++;
6569};
ebd8d4e8 6570
ab78acc6
IC
6571Writable.prototype.uncork = function() {
6572 var state = this._writableState;
ebd8d4e8 6573
ab78acc6
IC
6574 if (state.corked) {
6575 state.corked--;
ebd8d4e8 6576
ab78acc6
IC
6577 if (!state.writing &&
6578 !state.corked &&
6579 !state.finished &&
6580 !state.bufferProcessing &&
6581 state.buffer.length)
6582 clearBuffer(this, state);
ebd8d4e8 6583 }
ab78acc6 6584};
ebd8d4e8 6585
ab78acc6
IC
6586function decodeChunk(state, chunk, encoding) {
6587 if (!state.objectMode &&
6588 state.decodeStrings !== false &&
6589 util.isString(chunk)) {
6590 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6591 }
ab78acc6 6592 return chunk;
ebd8d4e8
IC
6593}
6594
ab78acc6
IC
6595// if we're already writing something, then just put this
6596// in the queue, and wait our turn. Otherwise, call _write
6597// If we return false, then we need a drain event, so set that flag.
6598function writeOrBuffer(stream, state, chunk, encoding, cb) {
6599 chunk = decodeChunk(state, chunk, encoding);
6600 if (util.isBuffer(chunk))
6601 encoding = 'buffer';
6602 var len = state.objectMode ? 1 : chunk.length;
6603
6604 state.length += len;
6605
6606 var ret = state.length < state.highWaterMark;
6607 // we must ensure that previous needDrain will not be reset to false.
6608 if (!ret)
6609 state.needDrain = true;
6610
6611 if (state.writing || state.corked)
6612 state.buffer.push(new WriteReq(chunk, encoding, cb));
6613 else
6614 doWrite(stream, state, false, len, chunk, encoding, cb);
6615
6616 return ret;
ebd8d4e8
IC
6617}
6618
ab78acc6
IC
6619function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6620 state.writelen = len;
6621 state.writecb = cb;
6622 state.writing = true;
6623 state.sync = true;
6624 if (writev)
6625 stream._writev(chunk, state.onwrite);
6626 else
6627 stream._write(chunk, encoding, state.onwrite);
6628 state.sync = false;
ebd8d4e8
IC
6629}
6630
ab78acc6
IC
6631function onwriteError(stream, state, sync, er, cb) {
6632 if (sync)
6633 process.nextTick(function() {
6634 state.pendingcb--;
6635 cb(er);
6636 });
6637 else {
6638 state.pendingcb--;
6639 cb(er);
6640 }
ebd8d4e8 6641
ab78acc6
IC
6642 stream._writableState.errorEmitted = true;
6643 stream.emit('error', er);
6644}
ebd8d4e8 6645
ab78acc6
IC
6646function onwriteStateUpdate(state) {
6647 state.writing = false;
6648 state.writecb = null;
6649 state.length -= state.writelen;
6650 state.writelen = 0;
6651}
ebd8d4e8 6652
ab78acc6
IC
6653function onwrite(stream, er) {
6654 var state = stream._writableState;
6655 var sync = state.sync;
6656 var cb = state.writecb;
ebd8d4e8 6657
ab78acc6 6658 onwriteStateUpdate(state);
ebd8d4e8 6659
ab78acc6
IC
6660 if (er)
6661 onwriteError(stream, state, sync, er, cb);
6662 else {
6663 // Check if we're actually ready to finish, but don't emit yet
6664 var finished = needFinish(stream, state);
ebd8d4e8 6665
ab78acc6
IC
6666 if (!finished &&
6667 !state.corked &&
6668 !state.bufferProcessing &&
6669 state.buffer.length) {
6670 clearBuffer(stream, state);
6671 }
6672
6673 if (sync) {
6674 process.nextTick(function() {
6675 afterWrite(stream, state, finished, cb);
6676 });
6677 } else {
6678 afterWrite(stream, state, finished, cb);
ebd8d4e8 6679 }
ebd8d4e8
IC
6680 }
6681}
6682
ab78acc6
IC
6683function afterWrite(stream, state, finished, cb) {
6684 if (!finished)
6685 onwriteDrain(stream, state);
6686 state.pendingcb--;
6687 cb();
6688 finishMaybe(stream, state);
6689}
6690
6691// Must force callback to be called on nextTick, so that we don't
6692// emit 'drain' before the write() consumer gets the 'false' return
6693// value, and has a chance to attach a 'drain' listener.
6694function onwriteDrain(stream, state) {
6695 if (state.length === 0 && state.needDrain) {
6696 state.needDrain = false;
6697 stream.emit('drain');
ebd8d4e8
IC
6698 }
6699}
6700
ebd8d4e8 6701
ab78acc6
IC
6702// if there's something in the buffer waiting, then process it
6703function clearBuffer(stream, state) {
6704 state.bufferProcessing = true;
6705
6706 if (stream._writev && state.buffer.length > 1) {
6707 // Fast case, write everything using _writev()
6708 var cbs = [];
6709 for (var c = 0; c < state.buffer.length; c++)
6710 cbs.push(state.buffer[c].callback);
6711
6712 // count the one we are adding, as well.
6713 // TODO(isaacs) clean this up
6714 state.pendingcb++;
6715 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6716 for (var i = 0; i < cbs.length; i++) {
6717 state.pendingcb--;
6718 cbs[i](err);
6719 }
6720 });
6721
6722 // Clear buffer
6723 state.buffer = [];
6724 } else {
6725 // Slow case, write chunks one-by-one
6726 for (var c = 0; c < state.buffer.length; c++) {
6727 var entry = state.buffer[c];
6728 var chunk = entry.chunk;
6729 var encoding = entry.encoding;
6730 var cb = entry.callback;
6731 var len = state.objectMode ? 1 : chunk.length;
6732
6733 doWrite(stream, state, false, len, chunk, encoding, cb);
6734
6735 // if we didn't call the onwrite immediately, then
6736 // it means that we need to wait until it does.
6737 // also, that means that the chunk and cb are currently
6738 // being processed, so move the buffer counter past them.
6739 if (state.writing) {
6740 c++;
6741 break;
6742 }
ebd8d4e8 6743 }
ab78acc6
IC
6744
6745 if (c < state.buffer.length)
6746 state.buffer = state.buffer.slice(c);
6747 else
6748 state.buffer.length = 0;
ebd8d4e8
IC
6749 }
6750
ab78acc6 6751 state.bufferProcessing = false;
ebd8d4e8
IC
6752}
6753
ab78acc6
IC
6754Writable.prototype._write = function(chunk, encoding, cb) {
6755 cb(new Error('not implemented'));
ebd8d4e8 6756
ab78acc6 6757};
ebd8d4e8 6758
ab78acc6 6759Writable.prototype._writev = null;
ebd8d4e8 6760
ab78acc6
IC
6761Writable.prototype.end = function(chunk, encoding, cb) {
6762 var state = this._writableState;
ebd8d4e8 6763
ab78acc6
IC
6764 if (util.isFunction(chunk)) {
6765 cb = chunk;
6766 chunk = null;
6767 encoding = null;
6768 } else if (util.isFunction(encoding)) {
6769 cb = encoding;
6770 encoding = null;
6771 }
ebd8d4e8 6772
ab78acc6
IC
6773 if (!util.isNullOrUndefined(chunk))
6774 this.write(chunk, encoding);
6775
6776 // .end() fully uncorks
6777 if (state.corked) {
6778 state.corked = 1;
6779 this.uncork();
ebd8d4e8 6780 }
ab78acc6
IC
6781
6782 // ignore unnecessary end() calls.
6783 if (!state.ending && !state.finished)
6784 endWritable(this, state, cb);
6785};
6786
6787
6788function needFinish(stream, state) {
6789 return (state.ending &&
6790 state.length === 0 &&
6791 !state.finished &&
6792 !state.writing);
ebd8d4e8
IC
6793}
6794
ab78acc6
IC
6795function prefinish(stream, state) {
6796 if (!state.prefinished) {
6797 state.prefinished = true;
6798 stream.emit('prefinish');
ebd8d4e8 6799 }
ebd8d4e8
IC
6800}
6801
ab78acc6
IC
6802function finishMaybe(stream, state) {
6803 var need = needFinish(stream, state);
6804 if (need) {
6805 if (state.pendingcb === 0) {
6806 prefinish(stream, state);
6807 state.finished = true;
6808 stream.emit('finish');
6809 } else
6810 prefinish(stream, state);
6811 }
6812 return need;
6813}
ebd8d4e8 6814
ab78acc6
IC
6815function endWritable(stream, state, cb) {
6816 state.ending = true;
6817 finishMaybe(stream, state);
6818 if (cb) {
6819 if (state.finished)
6820 process.nextTick(cb);
6821 else
6822 stream.once('finish', cb);
ebd8d4e8 6823 }
ab78acc6 6824 state.ended = true;
ebd8d4e8
IC
6825}
6826
ab78acc6
IC
6827}).call(this,require('_process'))
6828},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6829(function (Buffer){
6830// Copyright Joyent, Inc. and other Node contributors.
6831//
6832// Permission is hereby granted, free of charge, to any person obtaining a
6833// copy of this software and associated documentation files (the
6834// "Software"), to deal in the Software without restriction, including
6835// without limitation the rights to use, copy, modify, merge, publish,
6836// distribute, sublicense, and/or sell copies of the Software, and to permit
6837// persons to whom the Software is furnished to do so, subject to the
6838// following conditions:
6839//
6840// The above copyright notice and this permission notice shall be included
6841// in all copies or substantial portions of the Software.
6842//
6843// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6844// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6845// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6846// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6847// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6848// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6849// USE OR OTHER DEALINGS IN THE SOFTWARE.
6850
6851// NOTE: These type checking functions intentionally don't use `instanceof`
6852// because it is fragile and can be easily faked with `Object.create()`.
6853function isArray(ar) {
6854 return Array.isArray(ar);
ebd8d4e8 6855}
ab78acc6 6856exports.isArray = isArray;
ebd8d4e8 6857
ab78acc6
IC
6858function isBoolean(arg) {
6859 return typeof arg === 'boolean';
ebd8d4e8 6860}
ab78acc6 6861exports.isBoolean = isBoolean;
ebd8d4e8 6862
ab78acc6
IC
6863function isNull(arg) {
6864 return arg === null;
6865}
6866exports.isNull = isNull;
ebd8d4e8 6867
ab78acc6
IC
6868function isNullOrUndefined(arg) {
6869 return arg == null;
6870}
6871exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6872
ab78acc6
IC
6873function isNumber(arg) {
6874 return typeof arg === 'number';
ebd8d4e8 6875}
ab78acc6 6876exports.isNumber = isNumber;
ebd8d4e8 6877
ab78acc6
IC
6878function isString(arg) {
6879 return typeof arg === 'string';
6880}
6881exports.isString = isString;
ebd8d4e8 6882
ab78acc6
IC
6883function isSymbol(arg) {
6884 return typeof arg === 'symbol';
6885}
6886exports.isSymbol = isSymbol;
ebd8d4e8 6887
ab78acc6
IC
6888function isUndefined(arg) {
6889 return arg === void 0;
ebd8d4e8 6890}
ab78acc6 6891exports.isUndefined = isUndefined;
ebd8d4e8 6892
ab78acc6
IC
6893function isRegExp(re) {
6894 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 6895}
ab78acc6 6896exports.isRegExp = isRegExp;
ebd8d4e8 6897
ab78acc6
IC
6898function isObject(arg) {
6899 return typeof arg === 'object' && arg !== null;
ebd8d4e8 6900}
ab78acc6 6901exports.isObject = isObject;
ebd8d4e8 6902
ab78acc6
IC
6903function isDate(d) {
6904 return isObject(d) && objectToString(d) === '[object Date]';
6905}
6906exports.isDate = isDate;
ebd8d4e8 6907
ab78acc6
IC
6908function isError(e) {
6909 return isObject(e) &&
6910 (objectToString(e) === '[object Error]' || e instanceof Error);
6911}
6912exports.isError = isError;
ebd8d4e8 6913
ab78acc6
IC
6914function isFunction(arg) {
6915 return typeof arg === 'function';
6916}
6917exports.isFunction = isFunction;
6918
6919function isPrimitive(arg) {
6920 return arg === null ||
6921 typeof arg === 'boolean' ||
6922 typeof arg === 'number' ||
6923 typeof arg === 'string' ||
6924 typeof arg === 'symbol' || // ES6 symbol
6925 typeof arg === 'undefined';
ebd8d4e8 6926}
ab78acc6 6927exports.isPrimitive = isPrimitive;
ebd8d4e8 6928
ab78acc6
IC
6929function isBuffer(arg) {
6930 return Buffer.isBuffer(arg);
ebd8d4e8 6931}
ab78acc6 6932exports.isBuffer = isBuffer;
ebd8d4e8 6933
ab78acc6
IC
6934function objectToString(o) {
6935 return Object.prototype.toString.call(o);
ebd8d4e8 6936}
ab78acc6
IC
6937}).call(this,require("buffer").Buffer)
6938},{"buffer":7}],22:[function(require,module,exports){
6939module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 6940
ab78acc6
IC
6941},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
6942exports = module.exports = require('./lib/_stream_readable.js');
6943exports.Stream = require('stream');
6944exports.Readable = exports;
6945exports.Writable = require('./lib/_stream_writable.js');
6946exports.Duplex = require('./lib/_stream_duplex.js');
6947exports.Transform = require('./lib/_stream_transform.js');
6948exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 6949
ab78acc6
IC
6950},{"./lib/_stream_duplex.js":16,"./lib/_stream_passthrough.js":17,"./lib/_stream_readable.js":18,"./lib/_stream_transform.js":19,"./lib/_stream_writable.js":20,"stream":26}],24:[function(require,module,exports){
6951module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 6952
ab78acc6
IC
6953},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
6954module.exports = require("./lib/_stream_writable.js")
6955
6956},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
6957// Copyright Joyent, Inc. and other Node contributors.
6958//
6959// Permission is hereby granted, free of charge, to any person obtaining a
6960// copy of this software and associated documentation files (the
6961// "Software"), to deal in the Software without restriction, including
6962// without limitation the rights to use, copy, modify, merge, publish,
6963// distribute, sublicense, and/or sell copies of the Software, and to permit
6964// persons to whom the Software is furnished to do so, subject to the
6965// following conditions:
6966//
6967// The above copyright notice and this permission notice shall be included
6968// in all copies or substantial portions of the Software.
6969//
6970// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6971// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6972// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6973// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6974// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6975// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6976// USE OR OTHER DEALINGS IN THE SOFTWARE.
6977
6978module.exports = Stream;
6979
6980var EE = require('events').EventEmitter;
6981var inherits = require('inherits');
6982
6983inherits(Stream, EE);
6984Stream.Readable = require('readable-stream/readable.js');
6985Stream.Writable = require('readable-stream/writable.js');
6986Stream.Duplex = require('readable-stream/duplex.js');
6987Stream.Transform = require('readable-stream/transform.js');
6988Stream.PassThrough = require('readable-stream/passthrough.js');
6989
6990// Backwards-compat with node 0.4.x
6991Stream.Stream = Stream;
6992
6993
6994
6995// old-style streams. Note that the pipe method (the only relevant
6996// part of this class) is overridden in the Readable class.
6997
6998function Stream() {
6999 EE.call(this);
ebd8d4e8
IC
7000}
7001
ab78acc6
IC
7002Stream.prototype.pipe = function(dest, options) {
7003 var source = this;
ebd8d4e8 7004
ab78acc6
IC
7005 function ondata(chunk) {
7006 if (dest.writable) {
7007 if (false === dest.write(chunk) && source.pause) {
7008 source.pause();
7009 }
7010 }
7011 }
ebd8d4e8 7012
ab78acc6 7013 source.on('data', ondata);
ebd8d4e8 7014
ab78acc6
IC
7015 function ondrain() {
7016 if (source.readable && source.resume) {
7017 source.resume();
7018 }
7019 }
ebd8d4e8 7020
ab78acc6 7021 dest.on('drain', ondrain);
ebd8d4e8 7022
ab78acc6
IC
7023 // If the 'end' option is not supplied, dest.end() will be called when
7024 // source gets the 'end' or 'close' events. Only dest.end() once.
7025 if (!dest._isStdio && (!options || options.end !== false)) {
7026 source.on('end', onend);
7027 source.on('close', onclose);
ebd8d4e8
IC
7028 }
7029
ab78acc6
IC
7030 var didOnEnd = false;
7031 function onend() {
7032 if (didOnEnd) return;
7033 didOnEnd = true;
ebd8d4e8 7034
ab78acc6
IC
7035 dest.end();
7036 }
ebd8d4e8 7037
ebd8d4e8 7038
ab78acc6
IC
7039 function onclose() {
7040 if (didOnEnd) return;
7041 didOnEnd = true;
ebd8d4e8 7042
ab78acc6 7043 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7044 }
7045
ab78acc6
IC
7046 // don't leave dangling pipes when there are errors.
7047 function onerror(er) {
7048 cleanup();
7049 if (EE.listenerCount(this, 'error') === 0) {
7050 throw er; // Unhandled stream error in pipe.
7051 }
7052 }
ebd8d4e8 7053
ab78acc6
IC
7054 source.on('error', onerror);
7055 dest.on('error', onerror);
ebd8d4e8 7056
ab78acc6
IC
7057 // remove all the event listeners that were added.
7058 function cleanup() {
7059 source.removeListener('data', ondata);
7060 dest.removeListener('drain', ondrain);
ebd8d4e8 7061
ab78acc6
IC
7062 source.removeListener('end', onend);
7063 source.removeListener('close', onclose);
7064
7065 source.removeListener('error', onerror);
7066 dest.removeListener('error', onerror);
7067
7068 source.removeListener('end', cleanup);
7069 source.removeListener('close', cleanup);
7070
7071 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7072 }
7073
ab78acc6
IC
7074 source.on('end', cleanup);
7075 source.on('close', cleanup);
ebd8d4e8 7076
ab78acc6 7077 dest.on('close', cleanup);
ebd8d4e8 7078
ab78acc6 7079 dest.emit('pipe', source);
ebd8d4e8 7080
ab78acc6
IC
7081 // Allow for unix-like usage: A.pipe(B).pipe(C)
7082 return dest;
7083};
ebd8d4e8 7084
ab78acc6
IC
7085},{"events":11,"inherits":12,"readable-stream/duplex.js":15,"readable-stream/passthrough.js":22,"readable-stream/readable.js":23,"readable-stream/transform.js":24,"readable-stream/writable.js":25}],27:[function(require,module,exports){
7086// Copyright Joyent, Inc. and other Node contributors.
7087//
7088// Permission is hereby granted, free of charge, to any person obtaining a
7089// copy of this software and associated documentation files (the
7090// "Software"), to deal in the Software without restriction, including
7091// without limitation the rights to use, copy, modify, merge, publish,
7092// distribute, sublicense, and/or sell copies of the Software, and to permit
7093// persons to whom the Software is furnished to do so, subject to the
7094// following conditions:
7095//
7096// The above copyright notice and this permission notice shall be included
7097// in all copies or substantial portions of the Software.
7098//
7099// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7100// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7101// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7102// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7103// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7104// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7105// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7106
ab78acc6 7107var Buffer = require('buffer').Buffer;
ebd8d4e8 7108
ab78acc6
IC
7109var isBufferEncoding = Buffer.isEncoding
7110 || function(encoding) {
7111 switch (encoding && encoding.toLowerCase()) {
7112 case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
7113 default: return false;
7114 }
7115 }
ebd8d4e8 7116
ebd8d4e8 7117
ab78acc6
IC
7118function assertEncoding(encoding) {
7119 if (encoding && !isBufferEncoding(encoding)) {
7120 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7121 }
ebd8d4e8
IC
7122}
7123
ab78acc6
IC
7124// StringDecoder provides an interface for efficiently splitting a series of
7125// buffers into a series of JS strings without breaking apart multi-byte
7126// characters. CESU-8 is handled as part of the UTF-8 encoding.
7127//
7128// @TODO Handling all encodings inside a single object makes it very difficult
7129// to reason about this code, so it should be split up in the future.
7130// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7131// points as used by CESU-8.
7132var StringDecoder = exports.StringDecoder = function(encoding) {
7133 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7134 assertEncoding(encoding);
7135 switch (this.encoding) {
7136 case 'utf8':
7137 // CESU-8 represents each of Surrogate Pair by 3-bytes
7138 this.surrogateSize = 3;
7139 break;
7140 case 'ucs2':
7141 case 'utf16le':
7142 // UTF-16 represents each of Surrogate Pair by 2-bytes
7143 this.surrogateSize = 2;
7144 this.detectIncompleteChar = utf16DetectIncompleteChar;
7145 break;
7146 case 'base64':
7147 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7148 this.surrogateSize = 3;
7149 this.detectIncompleteChar = base64DetectIncompleteChar;
7150 break;
7151 default:
7152 this.write = passThroughWrite;
7153 return;
7154 }
ebd8d4e8 7155
ab78acc6
IC
7156 // Enough space to store all bytes of a single character. UTF-8 needs 4
7157 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7158 this.charBuffer = new Buffer(6);
7159 // Number of bytes received for the current incomplete multi-byte character.
7160 this.charReceived = 0;
7161 // Number of bytes expected for the current incomplete multi-byte character.
7162 this.charLength = 0;
7163};
ebd8d4e8 7164
ebd8d4e8 7165
ab78acc6
IC
7166// write decodes the given buffer and returns it as JS string that is
7167// guaranteed to not contain any partial multi-byte characters. Any partial
7168// character found at the end of the buffer is buffered up, and will be
7169// returned when calling write again with the remaining bytes.
7170//
7171// Note: Converting a Buffer containing an orphan surrogate to a String
7172// currently works, but converting a String to a Buffer (via `new Buffer`, or
7173// Buffer#write) will replace incomplete surrogates with the unicode
7174// replacement character. See https://codereview.chromium.org/121173009/ .
7175StringDecoder.prototype.write = function(buffer) {
7176 var charStr = '';
7177 // if our last write ended with an incomplete multibyte character
7178 while (this.charLength) {
7179 // determine how many remaining bytes this buffer has to offer for this char
7180 var available = (buffer.length >= this.charLength - this.charReceived) ?
7181 this.charLength - this.charReceived :
7182 buffer.length;
7183
7184 // add the new bytes to the char buffer
7185 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7186 this.charReceived += available;
7187
7188 if (this.charReceived < this.charLength) {
7189 // still not enough chars in this buffer? wait for more ...
7190 return '';
7191 }
7192
7193 // remove bytes belonging to the current character from the buffer
7194 buffer = buffer.slice(available, buffer.length);
7195
7196 // get the character that was split
7197 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7198
7199 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7200 var charCode = charStr.charCodeAt(charStr.length - 1);
7201 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7202 this.charLength += this.surrogateSize;
7203 charStr = '';
7204 continue;
7205 }
7206 this.charReceived = this.charLength = 0;
ebd8d4e8 7207
ab78acc6
IC
7208 // if there are no more bytes in this buffer, just emit our char
7209 if (buffer.length === 0) {
7210 return charStr;
7211 }
7212 break;
ebd8d4e8 7213 }
ebd8d4e8 7214
ab78acc6
IC
7215 // determine and set charLength / charReceived
7216 this.detectIncompleteChar(buffer);
ebd8d4e8 7217
ab78acc6
IC
7218 var end = buffer.length;
7219 if (this.charLength) {
7220 // buffer the incomplete character bytes we got
7221 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7222 end -= this.charReceived;
ebd8d4e8
IC
7223 }
7224
ab78acc6 7225 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7226
ab78acc6
IC
7227 var end = charStr.length - 1;
7228 var charCode = charStr.charCodeAt(end);
7229 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7230 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7231 var size = this.surrogateSize;
7232 this.charLength += size;
7233 this.charReceived += size;
7234 this.charBuffer.copy(this.charBuffer, size, 0, size);
7235 buffer.copy(this.charBuffer, 0, 0, size);
7236 return charStr.substring(0, end);
ebd8d4e8
IC
7237 }
7238
ab78acc6
IC
7239 // or just emit the charStr
7240 return charStr;
7241};
ebd8d4e8 7242
ab78acc6
IC
7243// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7244// the end of the given buffer. If so, it sets this.charLength to the byte
7245// length that character, and sets this.charReceived to the number of bytes
7246// that are available for this character.
7247StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7248 // determine how many bytes we have to check at the end of this buffer
7249 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7250
ab78acc6
IC
7251 // Figure out if one of the last i bytes of our buffer announces an
7252 // incomplete char.
7253 for (; i > 0; i--) {
7254 var c = buffer[buffer.length - i];
ebd8d4e8 7255
ab78acc6 7256 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7257
ab78acc6
IC
7258 // 110XXXXX
7259 if (i == 1 && c >> 5 == 0x06) {
7260 this.charLength = 2;
7261 break;
7262 }
ebd8d4e8 7263
ab78acc6
IC
7264 // 1110XXXX
7265 if (i <= 2 && c >> 4 == 0x0E) {
7266 this.charLength = 3;
7267 break;
7268 }
ebd8d4e8 7269
ab78acc6
IC
7270 // 11110XXX
7271 if (i <= 3 && c >> 3 == 0x1E) {
7272 this.charLength = 4;
7273 break;
7274 }
7275 }
7276 this.charReceived = i;
7277};
ebd8d4e8 7278
ab78acc6
IC
7279StringDecoder.prototype.end = function(buffer) {
7280 var res = '';
7281 if (buffer && buffer.length)
7282 res = this.write(buffer);
ebd8d4e8 7283
ab78acc6
IC
7284 if (this.charReceived) {
7285 var cr = this.charReceived;
7286 var buf = this.charBuffer;
7287 var enc = this.encoding;
7288 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7289 }
7290
ab78acc6
IC
7291 return res;
7292};
ebd8d4e8 7293
ab78acc6
IC
7294function passThroughWrite(buffer) {
7295 return buffer.toString(this.encoding);
ebd8d4e8
IC
7296}
7297
ab78acc6
IC
7298function utf16DetectIncompleteChar(buffer) {
7299 this.charReceived = buffer.length % 2;
7300 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7301}
7302
ab78acc6
IC
7303function base64DetectIncompleteChar(buffer) {
7304 this.charReceived = buffer.length % 3;
7305 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7306}
7307
ab78acc6
IC
7308},{"buffer":7}],28:[function(require,module,exports){
7309module.exports = function isBuffer(arg) {
7310 return arg && typeof arg === 'object'
7311 && typeof arg.copy === 'function'
7312 && typeof arg.fill === 'function'
7313 && typeof arg.readUInt8 === 'function';
7314}
7315},{}],29:[function(require,module,exports){
7316(function (process,global){
7317// Copyright Joyent, Inc. and other Node contributors.
7318//
7319// Permission is hereby granted, free of charge, to any person obtaining a
7320// copy of this software and associated documentation files (the
7321// "Software"), to deal in the Software without restriction, including
7322// without limitation the rights to use, copy, modify, merge, publish,
7323// distribute, sublicense, and/or sell copies of the Software, and to permit
7324// persons to whom the Software is furnished to do so, subject to the
7325// following conditions:
7326//
7327// The above copyright notice and this permission notice shall be included
7328// in all copies or substantial portions of the Software.
7329//
7330// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7331// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7332// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7333// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7334// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7335// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7336// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7337
ab78acc6
IC
7338var formatRegExp = /%[sdj%]/g;
7339exports.format = function(f) {
7340 if (!isString(f)) {
7341 var objects = [];
7342 for (var i = 0; i < arguments.length; i++) {
7343 objects.push(inspect(arguments[i]));
7344 }
7345 return objects.join(' ');
7346 }
ebd8d4e8 7347
ab78acc6
IC
7348 var i = 1;
7349 var args = arguments;
7350 var len = args.length;
7351 var str = String(f).replace(formatRegExp, function(x) {
7352 if (x === '%%') return '%';
7353 if (i >= len) return x;
7354 switch (x) {
7355 case '%s': return String(args[i++]);
7356 case '%d': return Number(args[i++]);
7357 case '%j':
7358 try {
7359 return JSON.stringify(args[i++]);
7360 } catch (_) {
7361 return '[Circular]';
7362 }
7363 default:
7364 return x;
7365 }
7366 });
7367 for (var x = args[i]; i < len; x = args[++i]) {
7368 if (isNull(x) || !isObject(x)) {
7369 str += ' ' + x;
7370 } else {
7371 str += ' ' + inspect(x);
7372 }
7373 }
7374 return str;
7375};
ebd8d4e8 7376
ebd8d4e8 7377
ab78acc6
IC
7378// Mark that a method should not be used.
7379// Returns a modified function which warns once by default.
7380// If --no-deprecation is set, then it is a no-op.
7381exports.deprecate = function(fn, msg) {
7382 // Allow for deprecating things in the process of starting up.
7383 if (isUndefined(global.process)) {
7384 return function() {
7385 return exports.deprecate(fn, msg).apply(this, arguments);
7386 };
7387 }
ebd8d4e8 7388
ab78acc6
IC
7389 if (process.noDeprecation === true) {
7390 return fn;
7391 }
ebd8d4e8 7392
ab78acc6
IC
7393 var warned = false;
7394 function deprecated() {
7395 if (!warned) {
7396 if (process.throwDeprecation) {
7397 throw new Error(msg);
7398 } else if (process.traceDeprecation) {
7399 console.trace(msg);
7400 } else {
7401 console.error(msg);
7402 }
7403 warned = true;
7404 }
7405 return fn.apply(this, arguments);
7406 }
ebd8d4e8 7407
ab78acc6
IC
7408 return deprecated;
7409};
ebd8d4e8 7410
ebd8d4e8 7411
ab78acc6
IC
7412var debugs = {};
7413var debugEnviron;
7414exports.debuglog = function(set) {
7415 if (isUndefined(debugEnviron))
7416 debugEnviron = process.env.NODE_DEBUG || '';
7417 set = set.toUpperCase();
7418 if (!debugs[set]) {
7419 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7420 var pid = process.pid;
7421 debugs[set] = function() {
7422 var msg = exports.format.apply(exports, arguments);
7423 console.error('%s %d: %s', set, pid, msg);
7424 };
7425 } else {
7426 debugs[set] = function() {};
ebd8d4e8
IC
7427 }
7428 }
ab78acc6
IC
7429 return debugs[set];
7430};
ebd8d4e8 7431
ebd8d4e8
IC
7432
7433/**
ab78acc6
IC
7434 * Echos the value of a value. Trys to print the value out
7435 * in the best way possible given the different types.
7436 *
7437 * @param {Object} obj The object to print out.
7438 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7439 */
ab78acc6
IC
7440/* legacy: obj, showHidden, depth, colors*/
7441function inspect(obj, opts) {
7442 // default options
7443 var ctx = {
7444 seen: [],
7445 stylize: stylizeNoColor
7446 };
7447 // legacy...
7448 if (arguments.length >= 3) ctx.depth = arguments[2];
7449 if (arguments.length >= 4) ctx.colors = arguments[3];
7450 if (isBoolean(opts)) {
7451 // legacy...
7452 ctx.showHidden = opts;
7453 } else if (opts) {
7454 // got an "options" object
7455 exports._extend(ctx, opts);
ebd8d4e8 7456 }
ab78acc6
IC
7457 // set default options
7458 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7459 if (isUndefined(ctx.depth)) ctx.depth = 2;
7460 if (isUndefined(ctx.colors)) ctx.colors = false;
7461 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7462 if (ctx.colors) ctx.stylize = stylizeWithColor;
7463 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7464}
ab78acc6 7465exports.inspect = inspect;
ebd8d4e8 7466
ebd8d4e8 7467
ab78acc6
IC
7468// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7469inspect.colors = {
7470 'bold' : [1, 22],
7471 'italic' : [3, 23],
7472 'underline' : [4, 24],
7473 'inverse' : [7, 27],
7474 'white' : [37, 39],
7475 'grey' : [90, 39],
7476 'black' : [30, 39],
7477 'blue' : [34, 39],
7478 'cyan' : [36, 39],
7479 'green' : [32, 39],
7480 'magenta' : [35, 39],
7481 'red' : [31, 39],
7482 'yellow' : [33, 39]
7483};
ebd8d4e8 7484
ab78acc6
IC
7485// Don't use 'blue' not visible on cmd.exe
7486inspect.styles = {
7487 'special': 'cyan',
7488 'number': 'yellow',
7489 'boolean': 'yellow',
7490 'undefined': 'grey',
7491 'null': 'bold',
7492 'string': 'green',
7493 'date': 'magenta',
7494 // "name": intentionally not styling
7495 'regexp': 'red'
7496};
ebd8d4e8 7497
ebd8d4e8 7498
ab78acc6
IC
7499function stylizeWithColor(str, styleType) {
7500 var style = inspect.styles[styleType];
ebd8d4e8 7501
ab78acc6
IC
7502 if (style) {
7503 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7504 '\u001b[' + inspect.colors[style][1] + 'm';
7505 } else {
7506 return str;
ebd8d4e8 7507 }
ebd8d4e8
IC
7508}
7509
ebd8d4e8 7510
ab78acc6
IC
7511function stylizeNoColor(str, styleType) {
7512 return str;
ebd8d4e8
IC
7513}
7514
ebd8d4e8 7515
ab78acc6
IC
7516function arrayToHash(array) {
7517 var hash = {};
ebd8d4e8 7518
ab78acc6
IC
7519 array.forEach(function(val, idx) {
7520 hash[val] = true;
7521 });
ebd8d4e8 7522
ab78acc6 7523 return hash;
ebd8d4e8
IC
7524}
7525
ebd8d4e8 7526
ab78acc6
IC
7527function formatValue(ctx, value, recurseTimes) {
7528 // Provide a hook for user-specified inspect functions.
7529 // Check that value is an object with an inspect function on it
7530 if (ctx.customInspect &&
7531 value &&
7532 isFunction(value.inspect) &&
7533 // Filter out the util module, it's inspect function is special
7534 value.inspect !== exports.inspect &&
7535 // Also filter out any prototype objects using the circular check.
7536 !(value.constructor && value.constructor.prototype === value)) {
7537 var ret = value.inspect(recurseTimes, ctx);
7538 if (!isString(ret)) {
7539 ret = formatValue(ctx, ret, recurseTimes);
7540 }
7541 return ret;
ebd8d4e8 7542 }
ebd8d4e8 7543
ab78acc6
IC
7544 // Primitive types cannot have properties
7545 var primitive = formatPrimitive(ctx, value);
7546 if (primitive) {
7547 return primitive;
ebd8d4e8
IC
7548 }
7549
ab78acc6
IC
7550 // Look up the keys of the object.
7551 var keys = Object.keys(value);
7552 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7553
ab78acc6
IC
7554 if (ctx.showHidden) {
7555 keys = Object.getOwnPropertyNames(value);
7556 }
ebd8d4e8 7557
ab78acc6
IC
7558 // IE doesn't make error fields non-enumerable
7559 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7560 if (isError(value)
7561 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7562 return formatError(value);
ebd8d4e8 7563 }
ebd8d4e8 7564
ab78acc6
IC
7565 // Some type of object without properties can be shortcutted.
7566 if (keys.length === 0) {
7567 if (isFunction(value)) {
7568 var name = value.name ? ': ' + value.name : '';
7569 return ctx.stylize('[Function' + name + ']', 'special');
7570 }
7571 if (isRegExp(value)) {
7572 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7573 }
7574 if (isDate(value)) {
7575 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7576 }
7577 if (isError(value)) {
7578 return formatError(value);
7579 }
ebd8d4e8 7580 }
ebd8d4e8 7581
ab78acc6 7582 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7583
ab78acc6
IC
7584 // Make Array say that they are Array
7585 if (isArray(value)) {
7586 array = true;
7587 braces = ['[', ']'];
7588 }
ebd8d4e8 7589
ab78acc6
IC
7590 // Make functions say that they are functions
7591 if (isFunction(value)) {
7592 var n = value.name ? ': ' + value.name : '';
7593 base = ' [Function' + n + ']';
7594 }
ebd8d4e8 7595
ab78acc6
IC
7596 // Make RegExps say that they are RegExps
7597 if (isRegExp(value)) {
7598 base = ' ' + RegExp.prototype.toString.call(value);
7599 }
ebd8d4e8 7600
ab78acc6
IC
7601 // Make dates with properties first say the date
7602 if (isDate(value)) {
7603 base = ' ' + Date.prototype.toUTCString.call(value);
7604 }
ebd8d4e8 7605
ab78acc6
IC
7606 // Make error with message first say the error
7607 if (isError(value)) {
7608 base = ' ' + formatError(value);
7609 }
ebd8d4e8 7610
ab78acc6
IC
7611 if (keys.length === 0 && (!array || value.length == 0)) {
7612 return braces[0] + base + braces[1];
7613 }
ebd8d4e8 7614
ab78acc6
IC
7615 if (recurseTimes < 0) {
7616 if (isRegExp(value)) {
7617 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7618 } else {
7619 return ctx.stylize('[Object]', 'special');
7620 }
7621 }
ebd8d4e8 7622
ab78acc6 7623 ctx.seen.push(value);
ebd8d4e8 7624
ab78acc6
IC
7625 var output;
7626 if (array) {
7627 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7628 } else {
7629 output = keys.map(function(key) {
7630 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7631 });
7632 }
ebd8d4e8 7633
ab78acc6 7634 ctx.seen.pop();
ebd8d4e8 7635
ab78acc6
IC
7636 return reduceToSingleString(output, base, braces);
7637}
ebd8d4e8 7638
ebd8d4e8 7639
ab78acc6
IC
7640function formatPrimitive(ctx, value) {
7641 if (isUndefined(value))
7642 return ctx.stylize('undefined', 'undefined');
7643 if (isString(value)) {
7644 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7645 .replace(/'/g, "\\'")
7646 .replace(/\\"/g, '"') + '\'';
7647 return ctx.stylize(simple, 'string');
7648 }
7649 if (isNumber(value))
7650 return ctx.stylize('' + value, 'number');
7651 if (isBoolean(value))
7652 return ctx.stylize('' + value, 'boolean');
7653 // For some reason typeof null is "object", so special case here.
7654 if (isNull(value))
7655 return ctx.stylize('null', 'null');
7656}
ebd8d4e8 7657
ebd8d4e8 7658
ab78acc6
IC
7659function formatError(value) {
7660 return '[' + Error.prototype.toString.call(value) + ']';
7661}
ebd8d4e8 7662
ebd8d4e8 7663
ab78acc6
IC
7664function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7665 var output = [];
7666 for (var i = 0, l = value.length; i < l; ++i) {
7667 if (hasOwnProperty(value, String(i))) {
7668 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7669 String(i), true));
7670 } else {
7671 output.push('');
7672 }
7673 }
7674 keys.forEach(function(key) {
7675 if (!key.match(/^\d+$/)) {
7676 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7677 key, true));
7678 }
7679 });
7680 return output;
7681}
ebd8d4e8 7682
ebd8d4e8 7683
ab78acc6
IC
7684function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7685 var name, str, desc;
7686 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7687 if (desc.get) {
7688 if (desc.set) {
7689 str = ctx.stylize('[Getter/Setter]', 'special');
7690 } else {
7691 str = ctx.stylize('[Getter]', 'special');
7692 }
7693 } else {
7694 if (desc.set) {
7695 str = ctx.stylize('[Setter]', 'special');
7696 }
7697 }
7698 if (!hasOwnProperty(visibleKeys, key)) {
7699 name = '[' + key + ']';
7700 }
7701 if (!str) {
7702 if (ctx.seen.indexOf(desc.value) < 0) {
7703 if (isNull(recurseTimes)) {
7704 str = formatValue(ctx, desc.value, null);
7705 } else {
7706 str = formatValue(ctx, desc.value, recurseTimes - 1);
7707 }
7708 if (str.indexOf('\n') > -1) {
7709 if (array) {
7710 str = str.split('\n').map(function(line) {
7711 return ' ' + line;
7712 }).join('\n').substr(2);
7713 } else {
7714 str = '\n' + str.split('\n').map(function(line) {
7715 return ' ' + line;
7716 }).join('\n');
7717 }
7718 }
7719 } else {
7720 str = ctx.stylize('[Circular]', 'special');
7721 }
7722 }
7723 if (isUndefined(name)) {
7724 if (array && key.match(/^\d+$/)) {
7725 return str;
7726 }
7727 name = JSON.stringify('' + key);
7728 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7729 name = name.substr(1, name.length - 2);
7730 name = ctx.stylize(name, 'name');
7731 } else {
7732 name = name.replace(/'/g, "\\'")
7733 .replace(/\\"/g, '"')
7734 .replace(/(^"|"$)/g, "'");
7735 name = ctx.stylize(name, 'string');
7736 }
7737 }
ebd8d4e8 7738
ab78acc6
IC
7739 return name + ': ' + str;
7740}
ebd8d4e8 7741
ebd8d4e8 7742
ab78acc6
IC
7743function reduceToSingleString(output, base, braces) {
7744 var numLinesEst = 0;
7745 var length = output.reduce(function(prev, cur) {
7746 numLinesEst++;
7747 if (cur.indexOf('\n') >= 0) numLinesEst++;
7748 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7749 }, 0);
ebd8d4e8 7750
ab78acc6
IC
7751 if (length > 60) {
7752 return braces[0] +
7753 (base === '' ? '' : base + '\n ') +
7754 ' ' +
7755 output.join(',\n ') +
7756 ' ' +
7757 braces[1];
7758 }
ebd8d4e8 7759
ab78acc6
IC
7760 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7761}
ebd8d4e8 7762
ebd8d4e8 7763
ab78acc6
IC
7764// NOTE: These type checking functions intentionally don't use `instanceof`
7765// because it is fragile and can be easily faked with `Object.create()`.
7766function isArray(ar) {
7767 return Array.isArray(ar);
7768}
7769exports.isArray = isArray;
ebd8d4e8 7770
ab78acc6
IC
7771function isBoolean(arg) {
7772 return typeof arg === 'boolean';
7773}
7774exports.isBoolean = isBoolean;
ebd8d4e8 7775
ab78acc6
IC
7776function isNull(arg) {
7777 return arg === null;
7778}
7779exports.isNull = isNull;
ebd8d4e8 7780
ab78acc6
IC
7781function isNullOrUndefined(arg) {
7782 return arg == null;
7783}
7784exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7785
ab78acc6
IC
7786function isNumber(arg) {
7787 return typeof arg === 'number';
7788}
7789exports.isNumber = isNumber;
ebd8d4e8 7790
ab78acc6
IC
7791function isString(arg) {
7792 return typeof arg === 'string';
7793}
7794exports.isString = isString;
ebd8d4e8 7795
ab78acc6
IC
7796function isSymbol(arg) {
7797 return typeof arg === 'symbol';
7798}
7799exports.isSymbol = isSymbol;
ebd8d4e8 7800
ab78acc6
IC
7801function isUndefined(arg) {
7802 return arg === void 0;
7803}
7804exports.isUndefined = isUndefined;
ebd8d4e8 7805
ab78acc6
IC
7806function isRegExp(re) {
7807 return isObject(re) && objectToString(re) === '[object RegExp]';
7808}
7809exports.isRegExp = isRegExp;
ebd8d4e8 7810
ab78acc6
IC
7811function isObject(arg) {
7812 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7813}
ab78acc6 7814exports.isObject = isObject;
ebd8d4e8 7815
ab78acc6
IC
7816function isDate(d) {
7817 return isObject(d) && objectToString(d) === '[object Date]';
7818}
7819exports.isDate = isDate;
ebd8d4e8 7820
ab78acc6
IC
7821function isError(e) {
7822 return isObject(e) &&
7823 (objectToString(e) === '[object Error]' || e instanceof Error);
7824}
7825exports.isError = isError;
ebd8d4e8 7826
ab78acc6
IC
7827function isFunction(arg) {
7828 return typeof arg === 'function';
7829}
7830exports.isFunction = isFunction;
ebd8d4e8 7831
ab78acc6
IC
7832function isPrimitive(arg) {
7833 return arg === null ||
7834 typeof arg === 'boolean' ||
7835 typeof arg === 'number' ||
7836 typeof arg === 'string' ||
7837 typeof arg === 'symbol' || // ES6 symbol
7838 typeof arg === 'undefined';
7839}
7840exports.isPrimitive = isPrimitive;
ebd8d4e8 7841
ab78acc6 7842exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7843
ab78acc6
IC
7844function objectToString(o) {
7845 return Object.prototype.toString.call(o);
7846}
ebd8d4e8 7847
ebd8d4e8 7848
ab78acc6
IC
7849function pad(n) {
7850 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7851}
ebd8d4e8 7852
ebd8d4e8 7853
ab78acc6
IC
7854var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7855 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7856
ab78acc6
IC
7857// 26 Feb 16:19:34
7858function timestamp() {
7859 var d = new Date();
7860 var time = [pad(d.getHours()),
7861 pad(d.getMinutes()),
7862 pad(d.getSeconds())].join(':');
7863 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7864}
7865
ab78acc6
IC
7866
7867// log is just a thin wrapper to console.log that prepends a timestamp
7868exports.log = function() {
7869 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7870};
7871
ab78acc6
IC
7872
7873/**
7874 * Inherit the prototype methods from one constructor into another.
7875 *
7876 * The Function.prototype.inherits from lang.js rewritten as a standalone
7877 * function (not on Function.prototype). NOTE: If this file is to be loaded
7878 * during bootstrapping this function needs to be rewritten using some native
7879 * functions as prototype setup using normal JavaScript does not work as
7880 * expected during bootstrapping (see mirror.js in r114903).
7881 *
7882 * @param {function} ctor Constructor function which needs to inherit the
7883 * prototype.
7884 * @param {function} superCtor Constructor function to inherit prototype from.
7885 */
7886exports.inherits = require('inherits');
7887
7888exports._extend = function(origin, add) {
7889 // Don't do anything if add isn't an object
7890 if (!add || !isObject(add)) return origin;
7891
7892 var keys = Object.keys(add);
7893 var i = keys.length;
7894 while (i--) {
7895 origin[keys[i]] = add[keys[i]];
7896 }
7897 return origin;
7898};
7899
7900function hasOwnProperty(obj, prop) {
7901 return Object.prototype.hasOwnProperty.call(obj, prop);
7902}
7903
7904}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
7905},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
7906// Base58 encoding/decoding
7907// Originally written by Mike Hearn for BitcoinJ
7908// Copyright (c) 2011 Google Inc
7909// Ported to JavaScript by Stefan Thomas
7910// Merged Buffer refactorings from base58-native by Stephen Pair
7911// Copyright (c) 2013 BitPay Inc
7912
ebd8d4e8 7913var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
7914var ALPHABET_MAP = {}
7915for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 7916 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 7917}
ab78acc6 7918var BASE = 58
ebd8d4e8
IC
7919
7920function encode(buffer) {
ab78acc6
IC
7921 if (buffer.length === 0) return ''
7922
7923 var i, j, digits = [0]
7924 for (i = 0; i < buffer.length; i++) {
7925 for (j = 0; j < digits.length; j++) digits[j] <<= 8
7926
7927 digits[0] += buffer[i]
ebd8d4e8 7928
ab78acc6
IC
7929 var carry = 0
7930 for (j = 0; j < digits.length; ++j) {
7931 digits[j] += carry
ebd8d4e8 7932
ab78acc6
IC
7933 carry = (digits[j] / BASE) | 0
7934 digits[j] %= BASE
7935 }
7936
7937 while (carry) {
7938 digits.push(carry % BASE)
7939
7940 carry = (carry / BASE) | 0
7941 }
ebd8d4e8
IC
7942 }
7943
7944 // deal with leading zeros
ab78acc6 7945 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 7946
ab78acc6
IC
7947 // convert digits to a string
7948 var stringOutput = ""
7949 for (var i = digits.length - 1; i >= 0; i--) {
7950 stringOutput = stringOutput + ALPHABET[digits[i]]
7951 }
7952 return stringOutput
ebd8d4e8
IC
7953}
7954
7955function decode(string) {
ab78acc6 7956 if (string.length === 0) return []
ebd8d4e8 7957
ab78acc6
IC
7958 var i, j, bytes = [0]
7959 for (i = 0; i < string.length; i++) {
7960 var c = string[i]
7961 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 7962
ab78acc6
IC
7963 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
7964 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 7965
ab78acc6
IC
7966 var carry = 0
7967 for (j = 0; j < bytes.length; ++j) {
7968 bytes[j] += carry
ebd8d4e8 7969
ab78acc6
IC
7970 carry = bytes[j] >> 8
7971 bytes[j] &= 0xff
7972 }
ebd8d4e8 7973
ab78acc6
IC
7974 while (carry) {
7975 bytes.push(carry & 0xff)
7976
7977 carry >>= 8
7978 }
ebd8d4e8
IC
7979 }
7980
ab78acc6
IC
7981 // deal with leading zeros
7982 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 7983
ab78acc6 7984 return bytes.reverse()
ebd8d4e8
IC
7985}
7986
7987module.exports = {
7988 encode: encode,
7989 decode: decode
7990}
7991
ab78acc6 7992},{}],31:[function(require,module,exports){
ebd8d4e8 7993(function (Buffer){
ab78acc6
IC
7994'use strict'
7995
7996var base58 = require('bs58')
7997var createHash = require('create-hash')
7998
7999// SHA256(SHA256(buffer))
8000function sha256x2 (buffer) {
8001 buffer = createHash('sha256').update(buffer).digest()
8002 return createHash('sha256').update(buffer).digest()
8003}
8004
8005// Encode a buffer as a base58-check encoded string
8006function encode (payload) {
8007 var checksum = sha256x2(payload).slice(0, 4)
8008
8009 return base58.encode(Buffer.concat([
8010 payload,
8011 checksum
8012 ]))
8013}
8014
8015// Decode a base58-check encoded string to a buffer
8016function decode (string) {
8017 var buffer = new Buffer(base58.decode(string))
8018
8019 var payload = buffer.slice(0, -4)
8020 var checksum = buffer.slice(-4)
8021 var newChecksum = sha256x2(payload).slice(0, 4)
8022
8023 for (var i = 0; i < newChecksum.length; ++i) {
8024 if (newChecksum[i] === checksum[i]) continue
8025
8026 throw new Error('Invalid checksum')
ebd8d4e8 8027 }
ab78acc6
IC
8028
8029 return payload
ebd8d4e8
IC
8030}
8031
ab78acc6
IC
8032module.exports = {
8033 encode: encode,
8034 decode: decode
ebd8d4e8
IC
8035}
8036
ab78acc6
IC
8037}).call(this,require("buffer").Buffer)
8038},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8039(function (Buffer){
ab78acc6
IC
8040'use strict';
8041var inherits = require('inherits')
8042var md5 = require('./md5')
8043var rmd160 = require('ripemd160')
8044var sha = require('sha.js')
ebd8d4e8 8045
ab78acc6 8046var Transform = require('stream').Transform
ebd8d4e8 8047
ab78acc6
IC
8048function HashNoConstructor(hash) {
8049 Transform.call(this)
ebd8d4e8 8050
ab78acc6
IC
8051 this._hash = hash
8052 this.buffers = []
8053}
ebd8d4e8 8054
ab78acc6 8055inherits(HashNoConstructor, Transform)
ebd8d4e8 8056
ab78acc6
IC
8057HashNoConstructor.prototype._transform = function (data, _, next) {
8058 this.buffers.push(data)
ebd8d4e8 8059
ab78acc6
IC
8060 next()
8061}
ebd8d4e8 8062
ab78acc6
IC
8063HashNoConstructor.prototype._flush = function (next) {
8064 this.push(this.digest())
8065 next()
8066}
8067
8068HashNoConstructor.prototype.update = function (data, enc) {
8069 if (typeof data === 'string') {
8070 data = new Buffer(data, enc)
ebd8d4e8
IC
8071 }
8072
ab78acc6
IC
8073 this.buffers.push(data)
8074 return this
8075}
8076
8077HashNoConstructor.prototype.digest = function (enc) {
8078 var buf = Buffer.concat(this.buffers)
8079 var r = this._hash(buf)
8080 this.buffers = null
8081
8082 return enc ? r.toString(enc) : r
8083}
8084
8085function Hash(hash) {
8086 Transform.call(this)
8087
8088 this._hash = hash
8089}
8090
8091inherits(Hash, Transform)
8092
8093Hash.prototype._transform = function (data, enc, next) {
8094 if (enc) data = new Buffer(data, enc)
8095
8096 this._hash.update(data)
8097
8098 next()
ebd8d4e8
IC
8099}
8100
ab78acc6
IC
8101Hash.prototype._flush = function (next) {
8102 this.push(this._hash.digest())
8103 this._hash = null
8104
8105 next()
8106}
8107
8108Hash.prototype.update = function (data, enc) {
8109 if (typeof data === 'string') {
8110 data = new Buffer(data, enc)
8111 }
8112
8113 this._hash.update(data)
ebd8d4e8
IC
8114 return this
8115}
8116
ab78acc6
IC
8117Hash.prototype.digest = function (enc) {
8118 var outData = this._hash.digest()
8119
8120 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8121}
8122
ab78acc6
IC
8123module.exports = function createHash (alg) {
8124 if ('md5' === alg) return new HashNoConstructor(md5)
8125 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8126
8127 return new Hash(sha(alg))
8128}
ebd8d4e8 8129
ab78acc6
IC
8130}).call(this,require("buffer").Buffer)
8131},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8132(function (Buffer){
ab78acc6 8133'use strict';
ebd8d4e8
IC
8134var intSize = 4;
8135var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8136var chrsz = 8;
8137
8138function toArray(buf, bigEndian) {
8139 if ((buf.length % intSize) !== 0) {
8140 var len = buf.length + (intSize - (buf.length % intSize));
8141 buf = Buffer.concat([buf, zeroBuffer], len);
8142 }
8143
8144 var arr = [];
8145 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8146 for (var i = 0; i < buf.length; i += intSize) {
8147 arr.push(fn.call(buf, i));
8148 }
8149 return arr;
8150}
8151
8152function toBuffer(arr, size, bigEndian) {
8153 var buf = new Buffer(size);
8154 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8155 for (var i = 0; i < arr.length; i++) {
8156 fn.call(buf, arr[i], i * 4, true);
8157 }
8158 return buf;
8159}
8160
8161function hash(buf, fn, hashSize, bigEndian) {
8162 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8163 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8164 return toBuffer(arr, hashSize, bigEndian);
8165}
ab78acc6
IC
8166exports.hash = hash;
8167}).call(this,require("buffer").Buffer)
8168},{"buffer":7}],34:[function(require,module,exports){
8169'use strict';
ebd8d4e8
IC
8170/*
8171 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8172 * Digest Algorithm, as defined in RFC 1321.
8173 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8174 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8175 * Distributed under the BSD License
8176 * See http://pajhome.org.uk/crypt/md5 for more info.
8177 */
8178
ab78acc6 8179var helpers = require('./helpers');
ebd8d4e8
IC
8180
8181/*
8182 * Calculate the MD5 of an array of little-endian words, and a bit length
8183 */
8184function core_md5(x, len)
8185{
8186 /* append padding */
8187 x[len >> 5] |= 0x80 << ((len) % 32);
8188 x[(((len + 64) >>> 9) << 4) + 14] = len;
8189
8190 var a = 1732584193;
8191 var b = -271733879;
8192 var c = -1732584194;
8193 var d = 271733878;
8194
8195 for(var i = 0; i < x.length; i += 16)
8196 {
8197 var olda = a;
8198 var oldb = b;
8199 var oldc = c;
8200 var oldd = d;
8201
8202 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8203 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8204 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8205 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8206 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8207 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8208 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8209 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8210 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8211 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8212 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8213 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8214 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8215 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8216 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8217 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8218
8219 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8220 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8221 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8222 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8223 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8224 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8225 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8226 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8227 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8228 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8229 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8230 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8231 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8232 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8233 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8234 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8235
8236 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8237 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8238 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8239 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8240 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8241 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8242 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8243 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8244 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8245 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8246 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8247 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8248 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8249 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8250 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8251 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8252
8253 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8254 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8255 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8256 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8257 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8258 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8259 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8260 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8261 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8262 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8263 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8264 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8265 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8266 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8267 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8268 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8269
8270 a = safe_add(a, olda);
8271 b = safe_add(b, oldb);
8272 c = safe_add(c, oldc);
8273 d = safe_add(d, oldd);
8274 }
8275 return Array(a, b, c, d);
8276
8277}
8278
8279/*
8280 * These functions implement the four basic operations the algorithm uses.
8281 */
8282function md5_cmn(q, a, b, x, s, t)
8283{
8284 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8285}
8286function md5_ff(a, b, c, d, x, s, t)
8287{
8288 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8289}
8290function md5_gg(a, b, c, d, x, s, t)
8291{
8292 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8293}
8294function md5_hh(a, b, c, d, x, s, t)
8295{
8296 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8297}
8298function md5_ii(a, b, c, d, x, s, t)
8299{
8300 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8301}
8302
8303/*
8304 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8305 * to work around bugs in some JS interpreters.
8306 */
8307function safe_add(x, y)
8308{
8309 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8310 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8311 return (msw << 16) | (lsw & 0xFFFF);
8312}
8313
8314/*
8315 * Bitwise rotate a 32-bit number to the left.
8316 */
8317function bit_rol(num, cnt)
8318{
8319 return (num << cnt) | (num >>> (32 - cnt));
8320}
8321
8322module.exports = function md5(buf) {
8323 return helpers.hash(buf, core_md5, 16);
8324};
ab78acc6
IC
8325},{"./helpers":33}],35:[function(require,module,exports){
8326arguments[4][12][0].apply(exports,arguments)
8327},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8328(function (Buffer){
ebd8d4e8
IC
8329/*
8330CryptoJS v3.1.2
8331code.google.com/p/crypto-js
8332(c) 2009-2013 by Jeff Mott. All rights reserved.
8333code.google.com/p/crypto-js/wiki/License
8334*/
8335/** @preserve
8336(c) 2012 by Cédric Mesnil. All rights reserved.
8337
8338Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8339
8340 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8341 - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8342
8343THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8344*/
8345
ab78acc6 8346// constants table
ebd8d4e8 8347var zl = [
ab78acc6
IC
8348 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8349 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8350 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8351 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8352 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8353]
8354
ebd8d4e8 8355var zr = [
ab78acc6
IC
8356 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8357 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8358 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8359 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8360 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8361]
8362
ebd8d4e8 8363var sl = [
ab78acc6
IC
8364 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8365 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8366 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8367 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8368 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8369]
8370
ebd8d4e8 8371var sr = [
ab78acc6
IC
8372 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8373 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8374 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8375 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8376 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8377]
ebd8d4e8 8378
ab78acc6
IC
8379var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8380var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8381
ab78acc6
IC
8382function bytesToWords (bytes) {
8383 var words = []
ebd8d4e8 8384 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8385 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8386 }
ab78acc6
IC
8387 return words
8388}
ebd8d4e8 8389
ab78acc6
IC
8390function wordsToBytes (words) {
8391 var bytes = []
ebd8d4e8 8392 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8393 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8394 }
ab78acc6
IC
8395 return bytes
8396}
ebd8d4e8 8397
ab78acc6
IC
8398function processBlock (H, M, offset) {
8399 // swap endian
ebd8d4e8 8400 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8401 var offset_i = offset + i
8402 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8403
8404 // Swap
8405 M[offset_i] = (
ab78acc6
IC
8406 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8407 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8408 )
ebd8d4e8
IC
8409 }
8410
8411 // Working variables
ab78acc6
IC
8412 var al, bl, cl, dl, el
8413 var ar, br, cr, dr, er
8414
8415 ar = al = H[0]
8416 br = bl = H[1]
8417 cr = cl = H[2]
8418 dr = dl = H[3]
8419 er = el = H[4]
8420
8421 // computation
8422 var t
8423 for (i = 0; i < 80; i += 1) {
8424 t = (al + M[offset + zl[i]]) | 0
8425 if (i < 16) {
8426 t += f1(bl, cl, dl) + hl[0]
8427 } else if (i < 32) {
8428 t += f2(bl, cl, dl) + hl[1]
8429 } else if (i < 48) {
8430 t += f3(bl, cl, dl) + hl[2]
8431 } else if (i < 64) {
8432 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8433 } else {// if (i<80) {
ab78acc6
IC
8434 t += f5(bl, cl, dl) + hl[4]
8435 }
8436 t = t | 0
8437 t = rotl(t, sl[i])
8438 t = (t + el) | 0
8439 al = el
8440 el = dl
8441 dl = rotl(cl, 10)
8442 cl = bl
8443 bl = t
8444
8445 t = (ar + M[offset + zr[i]]) | 0
8446 if (i < 16) {
8447 t += f5(br, cr, dr) + hr[0]
8448 } else if (i < 32) {
8449 t += f4(br, cr, dr) + hr[1]
8450 } else if (i < 48) {
8451 t += f3(br, cr, dr) + hr[2]
8452 } else if (i < 64) {
8453 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8454 } else {// if (i<80) {
ab78acc6 8455 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8456 }
ebd8d4e8 8457
ab78acc6
IC
8458 t = t | 0
8459 t = rotl(t, sr[i])
8460 t = (t + er) | 0
8461 ar = er
8462 er = dr
8463 dr = rotl(cr, 10)
8464 cr = br
8465 br = t
8466 }
8467
8468 // intermediate hash value
8469 t = (H[1] + cl + dr) | 0
8470 H[1] = (H[2] + dl + er) | 0
8471 H[2] = (H[3] + el + ar) | 0
8472 H[3] = (H[4] + al + br) | 0
8473 H[4] = (H[0] + bl + cr) | 0
8474 H[0] = t
ebd8d4e8
IC
8475}
8476
ab78acc6
IC
8477function f1 (x, y, z) {
8478 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8479}
8480
ab78acc6
IC
8481function f2 (x, y, z) {
8482 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8483}
8484
ab78acc6
IC
8485function f3 (x, y, z) {
8486 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8487}
8488
ab78acc6
IC
8489function f4 (x, y, z) {
8490 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8491}
8492
ab78acc6
IC
8493function f5 (x, y, z) {
8494 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8495}
8496
ab78acc6
IC
8497function rotl (x, n) {
8498 return (x << n) | (x >>> (32 - n))
8499}
8500
8501function ripemd160 (message) {
8502 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8503
ab78acc6
IC
8504 if (typeof message === 'string') {
8505 message = new Buffer(message, 'utf8')
8506 }
ebd8d4e8 8507
ab78acc6 8508 var m = bytesToWords(message)
ebd8d4e8 8509
ab78acc6
IC
8510 var nBitsLeft = message.length * 8
8511 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8512
8513 // Add padding
ab78acc6 8514 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8515 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8516 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8517 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8518 )
ebd8d4e8 8519
ab78acc6
IC
8520 for (var i = 0; i < m.length; i += 16) {
8521 processBlock(H, m, i)
ebd8d4e8
IC
8522 }
8523
ab78acc6
IC
8524 // swap endian
8525 for (i = 0; i < 5; i++) {
8526 // shortcut
8527 var H_i = H[i]
ebd8d4e8
IC
8528
8529 // Swap
ab78acc6
IC
8530 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8531 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8532 }
8533
ab78acc6
IC
8534 var digestbytes = wordsToBytes(H)
8535 return new Buffer(digestbytes)
ebd8d4e8
IC
8536}
8537
ab78acc6
IC
8538module.exports = ripemd160
8539
8540}).call(this,require("buffer").Buffer)
8541},{"buffer":7}],37:[function(require,module,exports){
8542(function (Buffer){
8543// prototype class for hash functions
8544function Hash (blockSize, finalSize) {
8545 this._block = new Buffer(blockSize)
8546 this._finalSize = finalSize
8547 this._blockSize = blockSize
8548 this._len = 0
8549 this._s = 0
8550}
ebd8d4e8 8551
ab78acc6
IC
8552Hash.prototype.update = function (data, enc) {
8553 if (typeof data === 'string') {
8554 enc = enc || 'utf8'
8555 data = new Buffer(data, enc)
8556 }
ebd8d4e8 8557
ab78acc6
IC
8558 var l = this._len += data.length
8559 var s = this._s || 0
8560 var f = 0
8561 var buffer = this._block
ebd8d4e8 8562
ab78acc6
IC
8563 while (s < l) {
8564 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8565 var ch = (t - f)
ebd8d4e8 8566
ab78acc6
IC
8567 for (var i = 0; i < ch; i++) {
8568 buffer[(s % this._blockSize) + i] = data[i + f]
8569 }
8570
8571 s += ch
8572 f += ch
ebd8d4e8 8573
ab78acc6
IC
8574 if ((s % this._blockSize) === 0) {
8575 this._update(buffer)
8576 }
ebd8d4e8 8577 }
ab78acc6
IC
8578 this._s = s
8579
8580 return this
8581}
ebd8d4e8 8582
ab78acc6
IC
8583Hash.prototype.digest = function (enc) {
8584 // Suppose the length of the message M, in bits, is l
8585 var l = this._len * 8
8586
8587 // Append the bit 1 to the end of the message
8588 this._block[this._len % this._blockSize] = 0x80
8589
8590 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8591 this._block.fill(0, this._len % this._blockSize + 1)
8592
8593 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8594 this._update(this._block)
8595 this._block.fill(0)
ebd8d4e8
IC
8596 }
8597
ab78acc6
IC
8598 // to this append the block which is equal to the number l written in binary
8599 // TODO: handle case where l is > Math.pow(2, 29)
8600 this._block.writeInt32BE(l, this._blockSize - 4)
8601
8602 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8603
ab78acc6
IC
8604 return enc ? hash.toString(enc) : hash
8605}
ebd8d4e8 8606
ab78acc6
IC
8607Hash.prototype._update = function () {
8608 throw new Error('_update must be implemented by subclass')
8609}
ebd8d4e8 8610
ab78acc6 8611module.exports = Hash
ebd8d4e8 8612
ab78acc6
IC
8613}).call(this,require("buffer").Buffer)
8614},{"buffer":7}],38:[function(require,module,exports){
8615var exports = module.exports = function SHA (algorithm) {
8616 algorithm = algorithm.toLowerCase()
ebd8d4e8 8617
ab78acc6
IC
8618 var Algorithm = exports[algorithm]
8619 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8620
ab78acc6
IC
8621 return new Algorithm()
8622}
8623
8624exports.sha = require('./sha')
8625exports.sha1 = require('./sha1')
8626exports.sha224 = require('./sha224')
8627exports.sha256 = require('./sha256')
8628exports.sha384 = require('./sha384')
8629exports.sha512 = require('./sha512')
8630
8631},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8632(function (Buffer){
8633/*
8634 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8635 * in FIPS PUB 180-1
8636 * This source code is derived from sha1.js of the same repository.
8637 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8638 * operation was added.
8639 */
ebd8d4e8 8640
ab78acc6
IC
8641var inherits = require('inherits')
8642var Hash = require('./hash')
ebd8d4e8 8643
ab78acc6 8644var W = new Array(80)
ebd8d4e8 8645
ab78acc6
IC
8646function Sha () {
8647 this.init()
8648 this._w = W
ebd8d4e8 8649
ab78acc6
IC
8650 Hash.call(this, 64, 56)
8651}
ebd8d4e8 8652
ab78acc6 8653inherits(Sha, Hash)
ebd8d4e8 8654
ab78acc6
IC
8655Sha.prototype.init = function () {
8656 this._a = 0x67452301 | 0
8657 this._b = 0xefcdab89 | 0
8658 this._c = 0x98badcfe | 0
8659 this._d = 0x10325476 | 0
8660 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8661
ab78acc6
IC
8662 return this
8663}
8664
8665/*
8666 * Bitwise rotate a 32-bit number to the left.
8667 */
8668function rol (num, cnt) {
8669 return (num << cnt) | (num >>> (32 - cnt))
8670}
8671
8672Sha.prototype._update = function (M) {
8673 var W = this._w
8674
8675 var a = this._a
8676 var b = this._b
8677 var c = this._c
8678 var d = this._d
8679 var e = this._e
ebd8d4e8 8680
ab78acc6
IC
8681 var j = 0, k
8682
8683 /*
8684 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8685 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8686 */
8687 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8688 function loop (w, f) {
8689 W[j] = w
8690
8691 var t = rol(a, 5) + f + e + w + k
8692
8693 e = d
8694 d = c
8695 c = rol(b, 30)
8696 b = a
8697 a = t
8698 j++
ebd8d4e8
IC
8699 }
8700
ab78acc6
IC
8701 k = 1518500249
8702 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8703 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8704 k = 1859775393
8705 while (j < 40) loop(calcW(), b ^ c ^ d)
8706 k = -1894007588
8707 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8708 k = -899497514
8709 while (j < 80) loop(calcW(), b ^ c ^ d)
8710
8711 this._a = (a + this._a) | 0
8712 this._b = (b + this._b) | 0
8713 this._c = (c + this._c) | 0
8714 this._d = (d + this._d) | 0
8715 this._e = (e + this._e) | 0
ebd8d4e8
IC
8716}
8717
ab78acc6
IC
8718Sha.prototype._hash = function () {
8719 var H = new Buffer(20)
8720
8721 H.writeInt32BE(this._a | 0, 0)
8722 H.writeInt32BE(this._b | 0, 4)
8723 H.writeInt32BE(this._c | 0, 8)
8724 H.writeInt32BE(this._d | 0, 12)
8725 H.writeInt32BE(this._e | 0, 16)
8726
8727 return H
ebd8d4e8
IC
8728}
8729
ab78acc6 8730module.exports = Sha
ebd8d4e8 8731
ebd8d4e8 8732
ab78acc6
IC
8733}).call(this,require("buffer").Buffer)
8734},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8735(function (Buffer){
ebd8d4e8
IC
8736/*
8737 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8738 * in FIPS PUB 180-1
8739 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8740 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8741 * Distributed under the BSD License
8742 * See http://pajhome.org.uk/crypt/md5 for details.
8743 */
ebd8d4e8 8744
ab78acc6
IC
8745var inherits = require('inherits')
8746var Hash = require('./hash')
ebd8d4e8 8747
ab78acc6 8748var W = new Array(80)
ebd8d4e8 8749
ab78acc6
IC
8750function Sha1 () {
8751 this.init()
8752 this._w = W
ebd8d4e8 8753
ab78acc6
IC
8754 Hash.call(this, 64, 56)
8755}
ebd8d4e8 8756
ab78acc6 8757inherits(Sha1, Hash)
ebd8d4e8 8758
ab78acc6
IC
8759Sha1.prototype.init = function () {
8760 this._a = 0x67452301 | 0
8761 this._b = 0xefcdab89 | 0
8762 this._c = 0x98badcfe | 0
8763 this._d = 0x10325476 | 0
8764 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8765
ab78acc6
IC
8766 return this
8767}
ebd8d4e8 8768
ab78acc6
IC
8769/*
8770 * Bitwise rotate a 32-bit number to the left.
8771 */
8772function rol (num, cnt) {
8773 return (num << cnt) | (num >>> (32 - cnt))
8774}
ebd8d4e8 8775
ab78acc6
IC
8776Sha1.prototype._update = function (M) {
8777 var W = this._w
ebd8d4e8 8778
ab78acc6
IC
8779 var a = this._a
8780 var b = this._b
8781 var c = this._c
8782 var d = this._d
8783 var e = this._e
ebd8d4e8 8784
ab78acc6 8785 var j = 0, k
ebd8d4e8 8786
ab78acc6
IC
8787 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8788 function loop (w, f) {
8789 W[j] = w
ebd8d4e8 8790
ab78acc6 8791 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8792
ab78acc6
IC
8793 e = d
8794 d = c
8795 c = rol(b, 30)
8796 b = a
8797 a = t
8798 j++
ebd8d4e8
IC
8799 }
8800
ab78acc6
IC
8801 k = 1518500249
8802 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8803 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8804 k = 1859775393
8805 while (j < 40) loop(calcW(), b ^ c ^ d)
8806 k = -1894007588
8807 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8808 k = -899497514
8809 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8810
ab78acc6
IC
8811 this._a = (a + this._a) | 0
8812 this._b = (b + this._b) | 0
8813 this._c = (c + this._c) | 0
8814 this._d = (d + this._d) | 0
8815 this._e = (e + this._e) | 0
8816}
ebd8d4e8 8817
ab78acc6
IC
8818Sha1.prototype._hash = function () {
8819 var H = new Buffer(20)
ebd8d4e8 8820
ab78acc6
IC
8821 H.writeInt32BE(this._a | 0, 0)
8822 H.writeInt32BE(this._b | 0, 4)
8823 H.writeInt32BE(this._c | 0, 8)
8824 H.writeInt32BE(this._d | 0, 12)
8825 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8826
ab78acc6
IC
8827 return H
8828}
ebd8d4e8 8829
ab78acc6 8830module.exports = Sha1
ebd8d4e8 8831
ab78acc6
IC
8832}).call(this,require("buffer").Buffer)
8833},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8834(function (Buffer){
8835/**
8836 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8837 * in FIPS 180-2
8838 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8839 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8840 *
8841 */
ebd8d4e8 8842
ab78acc6
IC
8843var inherits = require('inherits')
8844var Sha256 = require('./sha256')
8845var Hash = require('./hash')
ebd8d4e8 8846
ab78acc6 8847var W = new Array(64)
ebd8d4e8 8848
ab78acc6
IC
8849function Sha224 () {
8850 this.init()
ebd8d4e8 8851
ab78acc6 8852 this._w = W // new Array(64)
ebd8d4e8 8853
ab78acc6
IC
8854 Hash.call(this, 64, 56)
8855}
ebd8d4e8 8856
ab78acc6 8857inherits(Sha224, Sha256)
ebd8d4e8 8858
ab78acc6
IC
8859Sha224.prototype.init = function () {
8860 this._a = 0xc1059ed8 | 0
8861 this._b = 0x367cd507 | 0
8862 this._c = 0x3070dd17 | 0
8863 this._d = 0xf70e5939 | 0
8864 this._e = 0xffc00b31 | 0
8865 this._f = 0x68581511 | 0
8866 this._g = 0x64f98fa7 | 0
8867 this._h = 0xbefa4fa4 | 0
8868
8869 return this
8870}
8871
8872Sha224.prototype._hash = function () {
8873 var H = new Buffer(28)
8874
8875 H.writeInt32BE(this._a, 0)
8876 H.writeInt32BE(this._b, 4)
8877 H.writeInt32BE(this._c, 8)
8878 H.writeInt32BE(this._d, 12)
8879 H.writeInt32BE(this._e, 16)
8880 H.writeInt32BE(this._f, 20)
8881 H.writeInt32BE(this._g, 24)
8882
8883 return H
ebd8d4e8
IC
8884}
8885
ab78acc6 8886module.exports = Sha224
ebd8d4e8 8887
ab78acc6
IC
8888}).call(this,require("buffer").Buffer)
8889},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
8890(function (Buffer){
ebd8d4e8
IC
8891/**
8892 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8893 * in FIPS 180-2
8894 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8895 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8896 *
8897 */
8898
ab78acc6
IC
8899var inherits = require('inherits')
8900var Hash = require('./hash')
8901
8902var K = [
8903 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
8904 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
8905 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
8906 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
8907 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
8908 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
8909 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
8910 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
8911 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
8912 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
8913 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
8914 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
8915 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
8916 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
8917 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
8918 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
8919]
8920
8921var W = new Array(64)
8922
8923function Sha256 () {
8924 this.init()
8925
8926 this._w = W // new Array(64)
8927
8928 Hash.call(this, 64, 56)
8929}
8930
8931inherits(Sha256, Hash)
8932
8933Sha256.prototype.init = function () {
8934 this._a = 0x6a09e667 | 0
8935 this._b = 0xbb67ae85 | 0
8936 this._c = 0x3c6ef372 | 0
8937 this._d = 0xa54ff53a | 0
8938 this._e = 0x510e527f | 0
8939 this._f = 0x9b05688c | 0
8940 this._g = 0x1f83d9ab | 0
8941 this._h = 0x5be0cd19 | 0
ebd8d4e8 8942
ab78acc6
IC
8943 return this
8944}
ebd8d4e8 8945
ab78acc6
IC
8946function S (X, n) {
8947 return (X >>> n) | (X << (32 - n))
8948}
ebd8d4e8 8949
ab78acc6
IC
8950function R (X, n) {
8951 return (X >>> n)
8952}
ebd8d4e8 8953
ab78acc6
IC
8954function Ch (x, y, z) {
8955 return ((x & y) ^ ((~x) & z))
8956}
ebd8d4e8 8957
ab78acc6
IC
8958function Maj (x, y, z) {
8959 return ((x & y) ^ (x & z) ^ (y & z))
8960}
ebd8d4e8 8961
ab78acc6
IC
8962function Sigma0256 (x) {
8963 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
8964}
ebd8d4e8 8965
ab78acc6
IC
8966function Sigma1256 (x) {
8967 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
8968}
ebd8d4e8 8969
ab78acc6
IC
8970function Gamma0256 (x) {
8971 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
8972}
ebd8d4e8 8973
ab78acc6
IC
8974function Gamma1256 (x) {
8975 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
8976}
ebd8d4e8 8977
ab78acc6
IC
8978Sha256.prototype._update = function (M) {
8979 var W = this._w
ebd8d4e8 8980
ab78acc6
IC
8981 var a = this._a | 0
8982 var b = this._b | 0
8983 var c = this._c | 0
8984 var d = this._d | 0
8985 var e = this._e | 0
8986 var f = this._f | 0
8987 var g = this._g | 0
8988 var h = this._h | 0
ebd8d4e8 8989
ab78acc6 8990 var j = 0
ebd8d4e8 8991
ab78acc6
IC
8992 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
8993 function loop (w) {
8994 W[j] = w
ebd8d4e8 8995
ab78acc6
IC
8996 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
8997 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 8998
ab78acc6
IC
8999 h = g
9000 g = f
9001 f = e
9002 e = d + T1
9003 d = c
9004 c = b
9005 b = a
9006 a = T1 + T2
ebd8d4e8 9007
ab78acc6 9008 j++
ebd8d4e8
IC
9009 }
9010
ab78acc6
IC
9011 while (j < 16) loop(M.readInt32BE(j * 4))
9012 while (j < 64) loop(calcW())
ebd8d4e8 9013
ab78acc6
IC
9014 this._a = (a + this._a) | 0
9015 this._b = (b + this._b) | 0
9016 this._c = (c + this._c) | 0
9017 this._d = (d + this._d) | 0
9018 this._e = (e + this._e) | 0
9019 this._f = (f + this._f) | 0
9020 this._g = (g + this._g) | 0
9021 this._h = (h + this._h) | 0
9022}
ebd8d4e8 9023
ab78acc6
IC
9024Sha256.prototype._hash = function () {
9025 var H = new Buffer(32)
ebd8d4e8 9026
ab78acc6
IC
9027 H.writeInt32BE(this._a, 0)
9028 H.writeInt32BE(this._b, 4)
9029 H.writeInt32BE(this._c, 8)
9030 H.writeInt32BE(this._d, 12)
9031 H.writeInt32BE(this._e, 16)
9032 H.writeInt32BE(this._f, 20)
9033 H.writeInt32BE(this._g, 24)
9034 H.writeInt32BE(this._h, 28)
ebd8d4e8 9035
ab78acc6
IC
9036 return H
9037}
ebd8d4e8 9038
ab78acc6 9039module.exports = Sha256
ebd8d4e8 9040
ab78acc6
IC
9041}).call(this,require("buffer").Buffer)
9042},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9043(function (Buffer){
9044var inherits = require('inherits')
9045var SHA512 = require('./sha512')
9046var Hash = require('./hash')
ebd8d4e8 9047
ab78acc6 9048var W = new Array(160)
ebd8d4e8 9049
ab78acc6
IC
9050function Sha384 () {
9051 this.init()
9052 this._w = W
ebd8d4e8 9053
ab78acc6
IC
9054 Hash.call(this, 128, 112)
9055}
ebd8d4e8 9056
ab78acc6 9057inherits(Sha384, SHA512)
ebd8d4e8 9058
ab78acc6
IC
9059Sha384.prototype.init = function () {
9060 this._a = 0xcbbb9d5d | 0
9061 this._b = 0x629a292a | 0
9062 this._c = 0x9159015a | 0
9063 this._d = 0x152fecd8 | 0
9064 this._e = 0x67332667 | 0
9065 this._f = 0x8eb44a87 | 0
9066 this._g = 0xdb0c2e0d | 0
9067 this._h = 0x47b5481d | 0
ebd8d4e8 9068
ab78acc6
IC
9069 this._al = 0xc1059ed8 | 0
9070 this._bl = 0x367cd507 | 0
9071 this._cl = 0x3070dd17 | 0
9072 this._dl = 0xf70e5939 | 0
9073 this._el = 0xffc00b31 | 0
9074 this._fl = 0x68581511 | 0
9075 this._gl = 0x64f98fa7 | 0
9076 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9077
ab78acc6 9078 return this
ebd8d4e8
IC
9079}
9080
ab78acc6
IC
9081Sha384.prototype._hash = function () {
9082 var H = new Buffer(48)
ebd8d4e8 9083
ab78acc6
IC
9084 function writeInt64BE (h, l, offset) {
9085 H.writeInt32BE(h, offset)
9086 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9087 }
ebd8d4e8 9088
ab78acc6
IC
9089 writeInt64BE(this._a, this._al, 0)
9090 writeInt64BE(this._b, this._bl, 8)
9091 writeInt64BE(this._c, this._cl, 16)
9092 writeInt64BE(this._d, this._dl, 24)
9093 writeInt64BE(this._e, this._el, 32)
9094 writeInt64BE(this._f, this._fl, 40)
9095
9096 return H
ebd8d4e8
IC
9097}
9098
ab78acc6 9099module.exports = Sha384
ebd8d4e8 9100
ab78acc6
IC
9101}).call(this,require("buffer").Buffer)
9102},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9103(function (Buffer){
ab78acc6
IC
9104var inherits = require('inherits')
9105var Hash = require('./hash')
9106
9107var K = [
9108 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9109 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9110 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9111 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9112 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9113 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9114 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9115 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9116 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9117 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9118 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9119 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9120 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9121 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9122 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9123 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9124 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9125 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9126 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9127 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9128 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9129 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9130 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9131 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9132 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9133 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9134 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9135 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9136 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9137 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9138 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9139 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9140 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9141 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9142 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9143 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9144 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9145 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9146 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9147 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9148]
9149
9150var W = new Array(160)
9151
9152function Sha512 () {
9153 this.init()
9154 this._w = W
9155
9156 Hash.call(this, 128, 112)
9157}
9158
9159inherits(Sha512, Hash)
9160
9161Sha512.prototype.init = function () {
9162 this._a = 0x6a09e667 | 0
9163 this._b = 0xbb67ae85 | 0
9164 this._c = 0x3c6ef372 | 0
9165 this._d = 0xa54ff53a | 0
9166 this._e = 0x510e527f | 0
9167 this._f = 0x9b05688c | 0
9168 this._g = 0x1f83d9ab | 0
9169 this._h = 0x5be0cd19 | 0
9170
9171 this._al = 0xf3bcc908 | 0
9172 this._bl = 0x84caa73b | 0
9173 this._cl = 0xfe94f82b | 0
9174 this._dl = 0x5f1d36f1 | 0
9175 this._el = 0xade682d1 | 0
9176 this._fl = 0x2b3e6c1f | 0
9177 this._gl = 0xfb41bd6b | 0
9178 this._hl = 0x137e2179 | 0
ebd8d4e8 9179
ab78acc6 9180 return this
ebd8d4e8
IC
9181}
9182
ab78acc6
IC
9183function S (X, Xl, n) {
9184 return (X >>> n) | (Xl << (32 - n))
9185}
9186
9187function Ch (x, y, z) {
9188 return ((x & y) ^ ((~x) & z))
9189}
9190
9191function Maj (x, y, z) {
9192 return ((x & y) ^ (x & z) ^ (y & z))
9193}
9194
9195Sha512.prototype._update = function (M) {
9196 var W = this._w
9197
9198 var a = this._a | 0
9199 var b = this._b | 0
9200 var c = this._c | 0
9201 var d = this._d | 0
9202 var e = this._e | 0
9203 var f = this._f | 0
9204 var g = this._g | 0
9205 var h = this._h | 0
9206
9207 var al = this._al | 0
9208 var bl = this._bl | 0
9209 var cl = this._cl | 0
9210 var dl = this._dl | 0
9211 var el = this._el | 0
9212 var fl = this._fl | 0
9213 var gl = this._gl | 0
9214 var hl = this._hl | 0
9215
9216 var i = 0, j = 0
9217 var Wi, Wil
9218 function calcW () {
9219 var x = W[j - 15 * 2]
9220 var xl = W[j - 15 * 2 + 1]
9221 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9222 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9223
9224 x = W[j - 2 * 2]
9225 xl = W[j - 2 * 2 + 1]
9226 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9227 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9228
9229 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9230 var Wi7 = W[j - 7 * 2]
9231 var Wi7l = W[j - 7 * 2 + 1]
9232
9233 var Wi16 = W[j - 16 * 2]
9234 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9235
ab78acc6
IC
9236 Wil = gamma0l + Wi7l
9237 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9238 Wil = Wil + gamma1l
9239 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9240 Wil = Wil + Wi16l
9241 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9242 }
9243
9244 function loop () {
9245 W[j] = Wi
9246 W[j + 1] = Wil
ebd8d4e8 9247
ab78acc6
IC
9248 var maj = Maj(a, b, c)
9249 var majl = Maj(al, bl, cl)
ebd8d4e8 9250
ab78acc6
IC
9251 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9252 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9253 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9254 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9255
ab78acc6
IC
9256 // t1 = h + sigma1 + ch + K[i] + W[i]
9257 var Ki = K[j]
9258 var Kil = K[j + 1]
ebd8d4e8 9259
ab78acc6
IC
9260 var ch = Ch(e, f, g)
9261 var chl = Ch(el, fl, gl)
ebd8d4e8 9262
ab78acc6
IC
9263 var t1l = hl + sigma1l
9264 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9265 t1l = t1l + chl
9266 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9267 t1l = t1l + Kil
9268 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9269 t1l = t1l + Wil
9270 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9271
ab78acc6
IC
9272 // t2 = sigma0 + maj
9273 var t2l = sigma0l + majl
9274 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9275
ab78acc6
IC
9276 h = g
9277 hl = gl
9278 g = f
9279 gl = fl
9280 f = e
9281 fl = el
9282 el = (dl + t1l) | 0
9283 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9284 d = c
9285 dl = cl
9286 c = b
9287 cl = bl
9288 b = a
9289 bl = al
9290 al = (t1l + t2l) | 0
9291 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9292
9293 i++
9294 j += 2
9295 }
9296
9297 while (i < 16) {
9298 Wi = M.readInt32BE(j * 4)
9299 Wil = M.readInt32BE(j * 4 + 4)
9300
9301 loop()
9302 }
9303
9304 while (i < 80) {
9305 calcW()
9306 loop()
9307 }
9308
9309 this._al = (this._al + al) | 0
9310 this._bl = (this._bl + bl) | 0
9311 this._cl = (this._cl + cl) | 0
9312 this._dl = (this._dl + dl) | 0
9313 this._el = (this._el + el) | 0
9314 this._fl = (this._fl + fl) | 0
9315 this._gl = (this._gl + gl) | 0
9316 this._hl = (this._hl + hl) | 0
9317
9318 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9319 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9320 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9321 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9322 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9323 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9324 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9325 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9326}
9327
9328Sha512.prototype._hash = function () {
9329 var H = new Buffer(64)
9330
9331 function writeInt64BE (h, l, offset) {
9332 H.writeInt32BE(h, offset)
9333 H.writeInt32BE(l, offset + 4)
9334 }
9335
9336 writeInt64BE(this._a, this._al, 0)
9337 writeInt64BE(this._b, this._bl, 8)
9338 writeInt64BE(this._c, this._cl, 16)
9339 writeInt64BE(this._d, this._dl, 24)
9340 writeInt64BE(this._e, this._el, 32)
9341 writeInt64BE(this._f, this._fl, 40)
9342 writeInt64BE(this._g, this._gl, 48)
9343 writeInt64BE(this._h, this._hl, 56)
9344
9345 return H
9346}
9347
9348module.exports = Sha512
9349
9350}).call(this,require("buffer").Buffer)
9351},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9352(function (Buffer){
9353'use strict';
9354var createHash = require('create-hash/browser');
9355var inherits = require('inherits')
ebd8d4e8 9356
ab78acc6 9357var Transform = require('stream').Transform
ebd8d4e8 9358
ab78acc6
IC
9359var ZEROS = new Buffer(128)
9360ZEROS.fill(0)
ebd8d4e8 9361
ab78acc6
IC
9362function Hmac(alg, key) {
9363 Transform.call(this)
ebd8d4e8 9364
ab78acc6
IC
9365 if (typeof key === 'string') {
9366 key = new Buffer(key)
9367 }
ebd8d4e8 9368
ab78acc6 9369 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9370
ab78acc6
IC
9371 this._alg = alg
9372 this._key = key
ebd8d4e8 9373
ab78acc6
IC
9374 if (key.length > blocksize) {
9375 key = createHash(alg).update(key).digest()
ebd8d4e8 9376
ab78acc6
IC
9377 } else if (key.length < blocksize) {
9378 key = Buffer.concat([key, ZEROS], blocksize)
9379 }
ebd8d4e8 9380
ab78acc6
IC
9381 var ipad = this._ipad = new Buffer(blocksize)
9382 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9383
ab78acc6
IC
9384 for (var i = 0; i < blocksize; i++) {
9385 ipad[i] = key[i] ^ 0x36
9386 opad[i] = key[i] ^ 0x5C
9387 }
ebd8d4e8 9388
ab78acc6
IC
9389 this._hash = createHash(alg).update(ipad)
9390}
ebd8d4e8 9391
ab78acc6 9392inherits(Hmac, Transform)
ebd8d4e8 9393
ab78acc6
IC
9394Hmac.prototype.update = function (data, enc) {
9395 this._hash.update(data, enc)
ebd8d4e8 9396
ab78acc6
IC
9397 return this
9398}
ebd8d4e8 9399
ab78acc6
IC
9400Hmac.prototype._transform = function (data, _, next) {
9401 this._hash.update(data)
ebd8d4e8 9402
ab78acc6
IC
9403 next()
9404}
ebd8d4e8 9405
ab78acc6
IC
9406Hmac.prototype._flush = function (next) {
9407 this.push(this.digest())
ebd8d4e8 9408
ab78acc6
IC
9409 next()
9410}
ebd8d4e8 9411
ab78acc6
IC
9412Hmac.prototype.digest = function (enc) {
9413 var h = this._hash.digest()
ebd8d4e8 9414
ab78acc6
IC
9415 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9416}
ebd8d4e8 9417
ab78acc6
IC
9418module.exports = function createHmac(alg, key) {
9419 return new Hmac(alg, key)
9420}
ebd8d4e8 9421
ab78acc6
IC
9422}).call(this,require("buffer").Buffer)
9423},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9424arguments[4][12][0].apply(exports,arguments)
9425},{"dup":12}],47:[function(require,module,exports){
9426var assert = require('assert')
9427var BigInteger = require('bigi')
ebd8d4e8 9428
ab78acc6 9429var Point = require('./point')
ebd8d4e8
IC
9430
9431function Curve(p, a, b, Gx, Gy, n, h) {
9432 this.p = p
9433 this.a = a
9434 this.b = b
9435 this.G = Point.fromAffine(this, Gx, Gy)
9436 this.n = n
9437 this.h = h
9438
9439 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9440
9441 // result caching
9442 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9443}
9444
9445Curve.prototype.pointFromX = function(isOdd, x) {
9446 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9447 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9448
9449 var y = beta
9450 if (beta.isEven() ^ !isOdd) {
9451 y = this.p.subtract(y) // -y % p
9452 }
9453
9454 return Point.fromAffine(this, x, y)
9455}
9456
9457Curve.prototype.isInfinity = function(Q) {
9458 if (Q === this.infinity) return true
9459
9460 return Q.z.signum() === 0 && Q.y.signum() !== 0
9461}
9462
9463Curve.prototype.isOnCurve = function(Q) {
9464 if (this.isInfinity(Q)) return true
9465
9466 var x = Q.affineX
9467 var y = Q.affineY
9468 var a = this.a
9469 var b = this.b
9470 var p = this.p
9471
9472 // Check that xQ and yQ are integers in the interval [0, p - 1]
9473 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9474 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9475
9476 // and check that y^2 = x^3 + ax + b (mod p)
9477 var lhs = y.square().mod(p)
9478 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9479 return lhs.equals(rhs)
9480}
9481
9482/**
9483 * Validate an elliptic curve point.
9484 *
9485 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9486 */
9487Curve.prototype.validate = function(Q) {
9488 // Check Q != O
9489 assert(!this.isInfinity(Q), 'Point is at infinity')
9490 assert(this.isOnCurve(Q), 'Point is not on the curve')
9491
9492 // Check nQ = O (where Q is a scalar multiple of G)
9493 var nQ = Q.multiply(this.n)
9494 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9495
9496 return true
9497}
9498
9499module.exports = Curve
9500
ab78acc6 9501},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9502module.exports={
9503 "secp128r1": {
9504 "p": "fffffffdffffffffffffffffffffffff",
9505 "a": "fffffffdfffffffffffffffffffffffc",
9506 "b": "e87579c11079f43dd824993c2cee5ed3",
9507 "n": "fffffffe0000000075a30d1b9038a115",
9508 "h": "01",
9509 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9510 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9511 },
9512 "secp160k1": {
9513 "p": "fffffffffffffffffffffffffffffffeffffac73",
9514 "a": "00",
9515 "b": "07",
9516 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9517 "h": "01",
9518 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9519 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9520 },
9521 "secp160r1": {
9522 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9523 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9524 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9525 "n": "0100000000000000000001f4c8f927aed3ca752257",
9526 "h": "01",
9527 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9528 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9529 },
9530 "secp192k1": {
9531 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9532 "a": "00",
9533 "b": "03",
9534 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9535 "h": "01",
9536 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9537 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9538 },
9539 "secp192r1": {
9540 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9541 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9542 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9543 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9544 "h": "01",
9545 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9546 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9547 },
ebd8d4e8
IC
9548 "secp256k1": {
9549 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9550 "a": "00",
9551 "b": "07",
9552 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9553 "h": "01",
9554 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9555 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9556 },
9557 "secp256r1": {
9558 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9559 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9560 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9561 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9562 "h": "01",
9563 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9564 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9565 }
9566}
9567
ab78acc6
IC
9568},{}],49:[function(require,module,exports){
9569var Point = require('./point')
9570var Curve = require('./curve')
ebd8d4e8 9571
ab78acc6 9572var getCurveByName = require('./names')
ebd8d4e8
IC
9573
9574module.exports = {
9575 Curve: Curve,
9576 Point: Point,
9577 getCurveByName: getCurveByName
9578}
9579
ab78acc6
IC
9580},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9581var BigInteger = require('bigi')
ebd8d4e8 9582
ab78acc6
IC
9583var curves = require('./curves')
9584var Curve = require('./curve')
ebd8d4e8
IC
9585
9586function getCurveByName(name) {
9587 var curve = curves[name]
9588 if (!curve) return null
9589
9590 var p = new BigInteger(curve.p, 16)
9591 var a = new BigInteger(curve.a, 16)
9592 var b = new BigInteger(curve.b, 16)
9593 var n = new BigInteger(curve.n, 16)
9594 var h = new BigInteger(curve.h, 16)
9595 var Gx = new BigInteger(curve.Gx, 16)
9596 var Gy = new BigInteger(curve.Gy, 16)
9597
9598 return new Curve(p, a, b, Gx, Gy, n, h)
9599}
9600
9601module.exports = getCurveByName
9602
ab78acc6 9603},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9604(function (Buffer){
ab78acc6
IC
9605var assert = require('assert')
9606var BigInteger = require('bigi')
ebd8d4e8
IC
9607
9608var THREE = BigInteger.valueOf(3)
9609
9610function Point(curve, x, y, z) {
9611 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9612
9613 this.curve = curve
9614 this.x = x
9615 this.y = y
9616 this.z = z
9617 this._zInv = null
9618
9619 this.compressed = true
9620}
9621
9622Object.defineProperty(Point.prototype, 'zInv', {
9623 get: function() {
9624 if (this._zInv === null) {
9625 this._zInv = this.z.modInverse(this.curve.p)
9626 }
9627
9628 return this._zInv
9629 }
9630})
9631
9632Object.defineProperty(Point.prototype, 'affineX', {
9633 get: function() {
9634 return this.x.multiply(this.zInv).mod(this.curve.p)
9635 }
9636})
9637
9638Object.defineProperty(Point.prototype, 'affineY', {
9639 get: function() {
9640 return this.y.multiply(this.zInv).mod(this.curve.p)
9641 }
9642})
9643
9644Point.fromAffine = function(curve, x, y) {
9645 return new Point(curve, x, y, BigInteger.ONE)
9646}
9647
9648Point.prototype.equals = function(other) {
9649 if (other === this) return true
9650 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9651 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9652
9653 // u = Y2 * Z1 - Y1 * Z2
9654 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9655
9656 if (u.signum() !== 0) return false
9657
9658 // v = X2 * Z1 - X1 * Z2
9659 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9660
9661 return v.signum() === 0
9662}
9663
9664Point.prototype.negate = function() {
9665 var y = this.curve.p.subtract(this.y)
9666
9667 return new Point(this.curve, this.x, y, this.z)
9668}
9669
9670Point.prototype.add = function(b) {
9671 if (this.curve.isInfinity(this)) return b
9672 if (this.curve.isInfinity(b)) return this
9673
9674 var x1 = this.x
9675 var y1 = this.y
9676 var x2 = b.x
9677 var y2 = b.y
9678
9679 // u = Y2 * Z1 - Y1 * Z2
9680 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9681 // v = X2 * Z1 - X1 * Z2
9682 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9683
9684 if (v.signum() === 0) {
9685 if (u.signum() === 0) {
9686 return this.twice() // this == b, so double
9687 }
9688
9689 return this.curve.infinity // this = -b, so infinity
9690 }
9691
9692 var v2 = v.square()
9693 var v3 = v2.multiply(v)
9694 var x1v2 = x1.multiply(v2)
9695 var zu2 = u.square().multiply(this.z)
9696
9697 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9698 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9699 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9700 var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.p)
9701 // z3 = v^3 * z1 * z2
9702 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9703
9704 return new Point(this.curve, x3, y3, z3)
9705}
9706
9707Point.prototype.twice = function() {
9708 if (this.curve.isInfinity(this)) return this
9709 if (this.y.signum() === 0) return this.curve.infinity
9710
9711 var x1 = this.x
9712 var y1 = this.y
9713
9714 var y1z1 = y1.multiply(this.z)
9715 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9716 var a = this.curve.a
9717
9718 // w = 3 * x1^2 + a * z1^2
9719 var w = x1.square().multiply(THREE)
9720
9721 if (a.signum() !== 0) {
9722 w = w.add(this.z.square().multiply(a))
9723 }
9724
9725 w = w.mod(this.curve.p)
9726 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9727 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9728 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9729 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9730 // z3 = 8 * (y1 * z1)^3
9731 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9732
9733 return new Point(this.curve, x3, y3, z3)
9734}
9735
9736// Simple NAF (Non-Adjacent Form) multiplication algorithm
9737// TODO: modularize the multiplication algorithm
9738Point.prototype.multiply = function(k) {
9739 if (this.curve.isInfinity(this)) return this
9740 if (k.signum() === 0) return this.curve.infinity
9741
9742 var e = k
9743 var h = e.multiply(THREE)
9744
9745 var neg = this.negate()
9746 var R = this
9747
9748 for (var i = h.bitLength() - 2; i > 0; --i) {
9749 R = R.twice()
9750
9751 var hBit = h.testBit(i)
9752 var eBit = e.testBit(i)
9753
9754 if (hBit != eBit) {
9755 R = R.add(hBit ? this : neg)
9756 }
9757 }
9758
9759 return R
9760}
9761
9762// Compute this*j + x*k (simultaneous multiplication)
9763Point.prototype.multiplyTwo = function(j, x, k) {
9764 var i
9765
9766 if (j.bitLength() > k.bitLength())
9767 i = j.bitLength() - 1
9768 else
9769 i = k.bitLength() - 1
9770
9771 var R = this.curve.infinity
9772 var both = this.add(x)
9773
9774 while (i >= 0) {
9775 R = R.twice()
9776
9777 var jBit = j.testBit(i)
9778 var kBit = k.testBit(i)
9779
9780 if (jBit) {
9781 if (kBit) {
9782 R = R.add(both)
9783
9784 } else {
9785 R = R.add(this)
9786 }
9787
9788 } else {
9789 if (kBit) {
9790 R = R.add(x)
9791 }
9792 }
9793 --i
9794 }
9795
9796 return R
9797}
9798
9799Point.prototype.getEncoded = function(compressed) {
9800 if (compressed == undefined) compressed = this.compressed
9801 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9802
9803 var x = this.affineX
9804 var y = this.affineY
9805
9806 var buffer
9807
9808 // Determine size of q in bytes
9809 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9810
9811 // 0x02/0x03 | X
9812 if (compressed) {
9813 buffer = new Buffer(1 + byteLength)
9814 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9815
9816 // 0x04 | X | Y
9817 } else {
9818 buffer = new Buffer(1 + byteLength + byteLength)
9819 buffer.writeUInt8(0x04, 0)
9820
9821 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9822 }
9823
9824 x.toBuffer(byteLength).copy(buffer, 1)
9825
9826 return buffer
9827}
9828
9829Point.decodeFrom = function(curve, buffer) {
9830 var type = buffer.readUInt8(0)
9831 var compressed = (type !== 4)
9832
ebd8d4e8 9833 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9834 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9835
9836 var Q
9837 if (compressed) {
9838 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9839 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9840
9841 var isOdd = (type === 0x03)
9842 Q = curve.pointFromX(isOdd, x)
9843
9844 } else {
9845 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9846
9847 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9848 Q = Point.fromAffine(curve, x, y)
9849 }
9850
9851 Q.compressed = compressed
9852 return Q
9853}
9854
9855Point.prototype.toString = function () {
9856 if (this.curve.isInfinity(this)) return '(INFINITY)'
9857
9858 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9859}
9860
9861module.exports = Point
9862
ab78acc6
IC
9863}).call(this,require("buffer").Buffer)
9864},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9865(function (process,global,Buffer){
9866'use strict';
ebd8d4e8 9867
ab78acc6
IC
9868var crypto = global.crypto || global.msCrypto
9869if(crypto && crypto.getRandomValues) {
9870 module.exports = randomBytes;
9871} else {
9872 module.exports = oldBrowser;
9873}
9874function randomBytes(size, cb) {
9875 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
9876 /* This will not work in older browsers.
9877 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
9878 */
9879
9880 crypto.getRandomValues(bytes);
9881 if (typeof cb === 'function') {
9882 return process.nextTick(function () {
9883 cb(null, bytes);
9884 });
ebd8d4e8 9885 }
ab78acc6
IC
9886 return bytes;
9887}
9888function oldBrowser() {
9889 throw new Error(
9890 'secure random number generation not supported by this browser\n'+
9891 'use chrome, FireFox or Internet Explorer 11'
9892 )
ebd8d4e8
IC
9893}
9894
ab78acc6
IC
9895}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
9896},{"_process":14,"buffer":7}],53:[function(require,module,exports){
9897(function (Buffer){
9898'use strict';
ebd8d4e8 9899
ab78acc6
IC
9900function getFunctionName(fn) {
9901 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
9902}
9903
9904function getTypeTypeName(type) {
9905 if (nativeTypes.Function(type)) {
9906 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 9907 }
ab78acc6
IC
9908 if (nativeTypes.Object(type)) return JSON.stringify(type);
9909
9910 return type;
ebd8d4e8
IC
9911}
9912
ab78acc6
IC
9913function getValueTypeName(value) {
9914 if (nativeTypes.Null(value)) return '';
ebd8d4e8 9915
ab78acc6
IC
9916 return getFunctionName(value.constructor);
9917}
9918
9919function tfErrorString(type, value) {
9920 var typeTypeName = getTypeTypeName(type);
9921 var valueTypeName = getValueTypeName(value);
9922
9923 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
9924}
9925
9926function tfPropertyErrorString(type, name, value) {
9927 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
9928}
9929
9930var nativeTypes = {
9931 Array: (function (_Array) {
9932 function Array(_x) {
9933 return _Array.apply(this, arguments);
9934 }
9935
9936 Array.toString = function () {
9937 return _Array.toString();
9938 };
9939
9940 return Array;
9941 })(function (value) {
9942 return value !== null && value !== undefined && value.constructor === Array;
9943 }),
9944 Boolean: function Boolean(value) {
9945 return typeof value === 'boolean';
9946 },
9947 Buffer: (function (_Buffer) {
9948 function Buffer(_x2) {
9949 return _Buffer.apply(this, arguments);
9950 }
9951
9952 Buffer.toString = function () {
9953 return _Buffer.toString();
9954 };
9955
9956 return Buffer;
9957 })(function (value) {
9958 return Buffer.isBuffer(value);
9959 }),
9960 Function: function Function(value) {
9961 return typeof value === 'function';
9962 },
9963 Null: function Null(value) {
9964 return value === undefined || value === null;
9965 },
9966 Number: function Number(value) {
9967 return typeof value === 'number';
9968 },
9969 Object: function Object(value) {
9970 return typeof value === 'object';
9971 },
9972 String: function String(value) {
9973 return typeof value === 'string';
9974 },
9975 '': function _() {
9976 return true;
ebd8d4e8 9977 }
ab78acc6
IC
9978};
9979
9980function tJSON(type) {
9981 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
9982}
9983
ab78acc6
IC
9984function sJSON(type) {
9985 var json = tJSON(type);
9986 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
9987}
9988
ab78acc6
IC
9989var otherTypes = {
9990 arrayOf: function arrayOf(type) {
9991 function arrayOf(value, strict) {
9992 try {
9993 return nativeTypes.Array(value) && value.every(function (x) {
9994 return typeforce(type, x, strict);
9995 });
9996 } catch (e) {
9997 return false;
9998 }
9999 }
10000 arrayOf.toJSON = function () {
10001 return [tJSON(type)];
10002 };
10003
10004 return arrayOf;
10005 },
10006
10007 maybe: function maybe(type) {
10008 function maybe(value, strict) {
10009 return nativeTypes.Null(value) || typeforce(type, value, strict);
10010 }
10011 maybe.toJSON = function () {
10012 return '?' + sJSON(type);
10013 };
10014
10015 return maybe;
10016 },
10017
10018 object: function object(type) {
10019 function object(value, strict) {
10020 typeforce(nativeTypes.Object, value, strict);
10021
10022 var propertyName, propertyType, propertyValue;
10023
10024 try {
10025 for (propertyName in type) {
10026 propertyType = type[propertyName];
10027 propertyValue = value[propertyName];
10028
10029 typeforce(propertyType, propertyValue, strict);
10030 }
10031 } catch (e) {
10032 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10033 }
10034
10035 if (strict) {
10036 for (propertyName in value) {
10037 if (type[propertyName]) continue;
10038
10039 throw new TypeError('Unexpected property "' + propertyName + '"');
10040 }
10041 }
10042
10043 return true;
10044 }
10045 object.toJSON = function () {
10046 return type;
10047 };
10048
10049 return object;
10050 },
10051
10052 oneOf: function oneOf() {
10053 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10054 types[_key] = arguments[_key];
10055 }
10056
10057 function oneOf(value, strict) {
10058 return types.some(function (type) {
10059 try {
10060 return typeforce(type, value, strict);
10061 } catch (e) {
10062 return false;
10063 }
10064 });
10065 }
10066 oneOf.toJSON = function () {
10067 return types.map(sJSON).join('|');
10068 };
10069
10070 return oneOf;
10071 },
10072
10073 quacksLike: function quacksLike(type) {
10074 function quacksLike(value, strict) {
10075 return type === getValueTypeName(value);
10076 }
10077 quacksLike.toJSON = function () {
10078 return type;
10079 };
10080
10081 return quacksLike;
10082 },
10083
10084 tuple: function tuple() {
10085 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10086 types[_key2] = arguments[_key2];
10087 }
10088
10089 function tuple(value, strict) {
10090 return types.every(function (type, i) {
10091 return typeforce(type, value[i], strict);
10092 });
10093 }
10094 tuple.toJSON = function () {
10095 return '(' + types.map(sJSON).join(', ') + ')';
10096 };
10097
10098 return tuple;
10099 },
10100
10101 value: function value(expected) {
10102 function value(actual) {
10103 return actual === expected;
10104 }
10105 value.toJSON = function () {
10106 return expected;
10107 };
10108
10109 return value;
10110 }
10111};
10112
10113function compile(type) {
10114 if (nativeTypes.String(type)) {
10115 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10116
10117 return nativeTypes[type] || otherTypes.quacksLike(type);
10118 } else if (type && nativeTypes.Object(type)) {
10119 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10120
10121 var compiled = {};
10122
10123 for (var propertyName in type) {
10124 compiled[propertyName] = compile(type[propertyName]);
10125 }
10126
10127 return otherTypes.object(compiled);
10128 } else if (nativeTypes.Function(type)) {
10129 return type;
10130 }
10131
10132 return otherTypes.value(type);
ebd8d4e8
IC
10133}
10134
ab78acc6
IC
10135function typeforce(_x3, _x4, _x5) {
10136 var _again = true;
10137
10138 _function: while (_again) {
10139 var type = _x3,
10140 value = _x4,
10141 strict = _x5;
10142 _again = false;
10143
10144 if (nativeTypes.Function(type)) {
10145 if (type(value, strict)) return true;
10146
10147 throw new TypeError(tfErrorString(type, value));
10148 }
10149
10150 // JIT
10151 _x3 = compile(type);
10152 _x4 = value;
10153 _x5 = strict;
10154 _again = true;
10155 continue _function;
10156 }
ebd8d4e8
IC
10157}
10158
ab78acc6
IC
10159// assign all types to typeforce function
10160var typeName;
10161Object.keys(nativeTypes).forEach(function (typeName) {
10162 var nativeType = nativeTypes[typeName];
10163 nativeType.toJSON = function () {
10164 return typeName;
10165 };
10166
10167 typeforce[typeName] = nativeType;
10168});
ebd8d4e8 10169
ab78acc6
IC
10170for (typeName in otherTypes) {
10171 typeforce[typeName] = otherTypes[typeName];
10172}
ebd8d4e8 10173
ab78acc6
IC
10174module.exports = typeforce;
10175module.exports.compile = compile;
10176}).call(this,require("buffer").Buffer)
10177},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10178(function (Buffer){
ab78acc6
IC
10179var assert = require('assert')
10180var base58check = require('bs58check')
10181var typeForce = require('typeforce')
10182var networks = require('./networks')
10183var scripts = require('./scripts')
ebd8d4e8 10184
ab78acc6 10185function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10186 for (var networkName in networks) {
10187 var network = networks[networkName]
10188
10189 if (version === network.pubKeyHash) return 'pubkeyhash'
10190 if (version === network.scriptHash) return 'scripthash'
10191 }
10192}
10193
ab78acc6
IC
10194function Address (hash, version) {
10195 typeForce('Buffer', hash)
10196
ebd8d4e8
IC
10197 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10198 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10199
10200 this.hash = hash
10201 this.version = version
10202}
10203
ab78acc6 10204Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10205 var payload = base58check.decode(string)
10206 var version = payload.readUInt8(0)
10207 var hash = payload.slice(1)
10208
10209 return new Address(hash, version)
10210}
10211
ab78acc6 10212Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10213 network = network || networks.bitcoin
10214
ab78acc6
IC
10215 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10216 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10217
ab78acc6 10218 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10219}
10220
ebd8d4e8
IC
10221Address.prototype.toBase58Check = function () {
10222 var payload = new Buffer(21)
10223 payload.writeUInt8(this.version, 0)
10224 this.hash.copy(payload, 1)
10225
10226 return base58check.encode(payload)
10227}
10228
ab78acc6 10229Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10230 var scriptType = findScriptTypeByVersion(this.version)
10231
10232 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10233 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10234
ab78acc6
IC
10235 assert(false, this.toString() + ' has no matching Script')
10236}
10237
10238Address.prototype.toString = Address.prototype.toBase58Check
10239
10240module.exports = Address
10241
10242}).call(this,require("buffer").Buffer)
10243},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10244var bs58check = require('bs58check')
10245
10246function decode () {
10247 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10248
10249 return bs58check.decode.apply(undefined, arguments)
10250}
10251
10252function encode () {
10253 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10254
10255 return bs58check.encode.apply(undefined, arguments)
10256}
10257
10258module.exports = {
10259 decode: decode,
10260 encode: encode
10261}
10262
10263},{"bs58check":31}],56:[function(require,module,exports){
10264(function (Buffer){
10265var assert = require('assert')
10266var bufferutils = require('./bufferutils')
10267var crypto = require('./crypto')
10268
10269var Transaction = require('./transaction')
10270
10271function Block () {
10272 this.version = 1
10273 this.prevHash = null
10274 this.merkleRoot = null
10275 this.timestamp = 0
10276 this.bits = 0
10277 this.nonce = 0
10278}
10279
10280Block.fromBuffer = function (buffer) {
10281 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10282
10283 var offset = 0
10284 function readSlice (n) {
10285 offset += n
10286 return buffer.slice(offset - n, offset)
10287 }
10288
10289 function readUInt32 () {
10290 var i = buffer.readUInt32LE(offset)
10291 offset += 4
10292 return i
10293 }
10294
10295 var block = new Block()
10296 block.version = readUInt32()
10297 block.prevHash = readSlice(32)
10298 block.merkleRoot = readSlice(32)
10299 block.timestamp = readUInt32()
10300 block.bits = readUInt32()
10301 block.nonce = readUInt32()
10302
10303 if (buffer.length === 80) return block
10304
10305 function readVarInt () {
10306 var vi = bufferutils.readVarInt(buffer, offset)
10307 offset += vi.size
10308 return vi.number
10309 }
10310
10311 // FIXME: poor performance
10312 function readTransaction () {
10313 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10314
10315 offset += tx.toBuffer().length
10316 return tx
10317 }
10318
10319 var nTransactions = readVarInt()
10320 block.transactions = []
10321
10322 for (var i = 0; i < nTransactions; ++i) {
10323 var tx = readTransaction()
10324 block.transactions.push(tx)
10325 }
10326
10327 return block
10328}
10329
10330Block.fromHex = function (hex) {
10331 return Block.fromBuffer(new Buffer(hex, 'hex'))
10332}
10333
10334Block.prototype.getHash = function () {
10335 return crypto.hash256(this.toBuffer(true))
10336}
10337
10338Block.prototype.getId = function () {
10339 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10340}
10341
ab78acc6
IC
10342Block.prototype.getUTCDate = function () {
10343 var date = new Date(0) // epoch
10344 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10345
ab78acc6
IC
10346 return date
10347}
ebd8d4e8 10348
ab78acc6
IC
10349Block.prototype.toBuffer = function (headersOnly) {
10350 var buffer = new Buffer(80)
ebd8d4e8 10351
ab78acc6
IC
10352 var offset = 0
10353 function writeSlice (slice) {
10354 slice.copy(buffer, offset)
10355 offset += slice.length
10356 }
ebd8d4e8 10357
ab78acc6
IC
10358 function writeUInt32 (i) {
10359 buffer.writeUInt32LE(i, offset)
10360 offset += 4
10361 }
ebd8d4e8 10362
ab78acc6
IC
10363 writeUInt32(this.version)
10364 writeSlice(this.prevHash)
10365 writeSlice(this.merkleRoot)
10366 writeUInt32(this.timestamp)
10367 writeUInt32(this.bits)
10368 writeUInt32(this.nonce)
ebd8d4e8 10369
ab78acc6 10370 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10371
ab78acc6
IC
10372 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10373 var txBuffers = this.transactions.map(function (tx) {
10374 return tx.toBuffer()
10375 })
ebd8d4e8 10376
ab78acc6 10377 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10378}
10379
ab78acc6
IC
10380Block.prototype.toHex = function (headersOnly) {
10381 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10382}
10383
ab78acc6
IC
10384module.exports = Block
10385
10386}).call(this,require("buffer").Buffer)
10387},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10388(function (Buffer){
10389var assert = require('assert')
10390var opcodes = require('./opcodes')
ebd8d4e8
IC
10391
10392// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10393function verifuint (value, max) {
ebd8d4e8
IC
10394 assert(typeof value === 'number', 'cannot write a non-number as a number')
10395 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10396 assert(value <= max, 'value is larger than maximum value for type')
10397 assert(Math.floor(value) === value, 'value has a fractional component')
10398}
10399
ab78acc6 10400function pushDataSize (i) {
ebd8d4e8 10401 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10402 : i < 0xff ? 2
10403 : i < 0xffff ? 3
10404 : 5
ebd8d4e8
IC
10405}
10406
ab78acc6 10407function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10408 var opcode = buffer.readUInt8(offset)
10409 var number, size
10410
10411 // ~6 bit
10412 if (opcode < opcodes.OP_PUSHDATA1) {
10413 number = opcode
10414 size = 1
10415
10416 // 8 bit
10417 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10418 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10419 number = buffer.readUInt8(offset + 1)
10420 size = 2
10421
10422 // 16 bit
10423 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10424 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10425 number = buffer.readUInt16LE(offset + 1)
10426 size = 3
10427
10428 // 32 bit
10429 } else {
ab78acc6 10430 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10431 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10432
10433 number = buffer.readUInt32LE(offset + 1)
10434 size = 5
ebd8d4e8
IC
10435 }
10436
10437 return {
10438 opcode: opcode,
10439 number: number,
10440 size: size
10441 }
10442}
10443
ab78acc6 10444function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10445 var a = buffer.readUInt32LE(offset)
10446 var b = buffer.readUInt32LE(offset + 4)
10447 b *= 0x100000000
10448
10449 verifuint(b + a, 0x001fffffffffffff)
10450
10451 return b + a
10452}
10453
ab78acc6 10454function readVarInt (buffer, offset) {
ebd8d4e8
IC
10455 var t = buffer.readUInt8(offset)
10456 var number, size
10457
10458 // 8 bit
10459 if (t < 253) {
10460 number = t
10461 size = 1
10462
10463 // 16 bit
10464 } else if (t < 254) {
10465 number = buffer.readUInt16LE(offset + 1)
10466 size = 3
10467
10468 // 32 bit
10469 } else if (t < 255) {
10470 number = buffer.readUInt32LE(offset + 1)
10471 size = 5
10472
10473 // 64 bit
10474 } else {
10475 number = readUInt64LE(buffer, offset + 1)
10476 size = 9
10477 }
10478
10479 return {
10480 number: number,
10481 size: size
10482 }
10483}
10484
ab78acc6 10485function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10486 var size = pushDataSize(number)
10487
10488 // ~6 bit
10489 if (size === 1) {
10490 buffer.writeUInt8(number, offset)
10491
10492 // 8 bit
10493 } else if (size === 2) {
10494 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10495 buffer.writeUInt8(number, offset + 1)
10496
10497 // 16 bit
10498 } else if (size === 3) {
10499 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10500 buffer.writeUInt16LE(number, offset + 1)
10501
10502 // 32 bit
10503 } else {
10504 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10505 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10506 }
10507
10508 return size
10509}
10510
ab78acc6 10511function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10512 verifuint(value, 0x001fffffffffffff)
10513
10514 buffer.writeInt32LE(value & -1, offset)
10515 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10516}
10517
ab78acc6
IC
10518function varIntSize (i) {
10519 return i < 253 ? 1
10520 : i < 0x10000 ? 3
10521 : i < 0x100000000 ? 5
10522 : 9
ebd8d4e8
IC
10523}
10524
ab78acc6 10525function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10526 var size = varIntSize(number)
10527
10528 // 8 bit
10529 if (size === 1) {
10530 buffer.writeUInt8(number, offset)
10531
10532 // 16 bit
10533 } else if (size === 3) {
10534 buffer.writeUInt8(253, offset)
10535 buffer.writeUInt16LE(number, offset + 1)
10536
10537 // 32 bit
10538 } else if (size === 5) {
10539 buffer.writeUInt8(254, offset)
10540 buffer.writeUInt32LE(number, offset + 1)
10541
10542 // 64 bit
10543 } else {
10544 buffer.writeUInt8(255, offset)
10545 writeUInt64LE(buffer, number, offset + 1)
10546 }
10547
10548 return size
10549}
10550
ab78acc6
IC
10551function varIntBuffer (i) {
10552 var size = varIntSize(i)
10553 var buffer = new Buffer(size)
10554 writeVarInt(buffer, i, 0)
10555
10556 return buffer
10557}
10558
10559function reverse (buffer) {
10560 var buffer2 = new Buffer(buffer)
10561 Array.prototype.reverse.call(buffer2)
10562 return buffer2
10563}
10564
ebd8d4e8
IC
10565module.exports = {
10566 pushDataSize: pushDataSize,
10567 readPushDataInt: readPushDataInt,
10568 readUInt64LE: readUInt64LE,
10569 readVarInt: readVarInt,
ab78acc6
IC
10570 reverse: reverse,
10571 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10572 varIntSize: varIntSize,
10573 writePushDataInt: writePushDataInt,
10574 writeUInt64LE: writeUInt64LE,
10575 writeVarInt: writeVarInt
10576}
10577
ab78acc6
IC
10578}).call(this,require("buffer").Buffer)
10579},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10580var createHash = require('create-hash')
ebd8d4e8 10581
ab78acc6 10582function hash160 (buffer) {
ebd8d4e8
IC
10583 return ripemd160(sha256(buffer))
10584}
10585
ab78acc6 10586function hash256 (buffer) {
ebd8d4e8
IC
10587 return sha256(sha256(buffer))
10588}
10589
ab78acc6
IC
10590function ripemd160 (buffer) {
10591 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10592}
10593
ab78acc6
IC
10594function sha1 (buffer) {
10595 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10596}
10597
ab78acc6
IC
10598function sha256 (buffer) {
10599 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10600}
10601
10602// FIXME: Name not consistent with others
ab78acc6 10603var createHmac = require('create-hmac')
ebd8d4e8 10604
ab78acc6
IC
10605function HmacSHA256 (buffer, secret) {
10606 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10607 return createHmac('sha256', secret).update(buffer).digest()
10608}
ebd8d4e8 10609
ab78acc6
IC
10610function HmacSHA512 (buffer, secret) {
10611 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10612 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10613}
10614
10615module.exports = {
10616 ripemd160: ripemd160,
10617 sha1: sha1,
10618 sha256: sha256,
10619 hash160: hash160,
10620 hash256: hash256,
10621 HmacSHA256: HmacSHA256,
10622 HmacSHA512: HmacSHA512
10623}
10624
ab78acc6 10625},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10626(function (Buffer){
ab78acc6
IC
10627var assert = require('assert')
10628var createHmac = require('create-hmac')
10629var typeForce = require('typeforce')
ebd8d4e8 10630
ab78acc6
IC
10631var BigInteger = require('bigi')
10632var ECSignature = require('./ecsignature')
10633
10634var ZERO = new Buffer([0])
10635var ONE = new Buffer([1])
ebd8d4e8
IC
10636
10637// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10638function deterministicGenerateK (curve, hash, d, checkSig) {
10639 typeForce('Buffer', hash)
10640 typeForce('BigInteger', d)
10641
10642 // FIXME: remove/uncomment for 2.0.0
10643 // typeForce('Function', checkSig)
10644
10645 if (typeof checkSig !== 'function') {
10646 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10647
10648 checkSig = function (k) {
10649 var G = curve.G
10650 var n = curve.n
10651 var e = BigInteger.fromBuffer(hash)
10652
10653 var Q = G.multiply(k)
10654
10655 if (curve.isInfinity(Q))
10656 return false
10657
10658 var r = Q.affineX.mod(n)
10659 if (r.signum() === 0)
10660 return false
10661
10662 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10663 if (s.signum() === 0)
10664 return false
10665
10666 return true
10667 }
10668 }
10669
10670 // sanity check
ebd8d4e8 10671 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10672
10673 var x = d.toBuffer(32)
10674 var k = new Buffer(32)
10675 var v = new Buffer(32)
10676
ab78acc6 10677 // Step A, ignored as hash already provided
ebd8d4e8
IC
10678 // Step B
10679 v.fill(1)
10680
10681 // Step C
10682 k.fill(0)
10683
10684 // Step D
ab78acc6
IC
10685 k = createHmac('sha256', k)
10686 .update(v)
10687 .update(ZERO)
10688 .update(x)
10689 .update(hash)
10690 .digest()
ebd8d4e8
IC
10691
10692 // Step E
ab78acc6 10693 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10694
10695 // Step F
ab78acc6
IC
10696 k = createHmac('sha256', k)
10697 .update(v)
10698 .update(ONE)
10699 .update(x)
10700 .update(hash)
10701 .digest()
ebd8d4e8
IC
10702
10703 // Step G
ab78acc6 10704 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10705
10706 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10707 // Step H2b
ab78acc6 10708 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10709
10710 var T = BigInteger.fromBuffer(v)
10711
ab78acc6
IC
10712 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10713 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10714 k = createHmac('sha256', k)
10715 .update(v)
10716 .update(ZERO)
10717 .digest()
10718
10719 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10720
ab78acc6
IC
10721 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10722 // Step H2b again
10723 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10724 T = BigInteger.fromBuffer(v)
10725 }
10726
10727 return T
10728}
10729
ab78acc6
IC
10730function sign (curve, hash, d) {
10731 var r, s
ebd8d4e8 10732
ab78acc6 10733 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10734 var n = curve.n
10735 var G = curve.G
ebd8d4e8 10736
ab78acc6
IC
10737 deterministicGenerateK(curve, hash, d, function (k) {
10738 var Q = G.multiply(k)
10739
10740 if (curve.isInfinity(Q))
10741 return false
10742
10743 r = Q.affineX.mod(n)
10744 if (r.signum() === 0)
10745 return false
10746
10747 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10748 if (s.signum() === 0)
10749 return false
ebd8d4e8 10750
ab78acc6
IC
10751 return true
10752 })
ebd8d4e8
IC
10753
10754 var N_OVER_TWO = n.shiftRight(1)
10755
10756 // enforce low S values, see bip62: 'low s values in signatures'
10757 if (s.compareTo(N_OVER_TWO) > 0) {
10758 s = n.subtract(s)
10759 }
10760
10761 return new ECSignature(r, s)
10762}
10763
ab78acc6 10764function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10765 var n = curve.n
10766 var G = curve.G
10767
10768 var r = signature.r
10769 var s = signature.s
10770
ab78acc6
IC
10771 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10772 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10773 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10774
ab78acc6 10775 // c = s^-1 mod n
ebd8d4e8
IC
10776 var c = s.modInverse(n)
10777
ab78acc6
IC
10778 // 1.4.4 Compute u1 = es^−1 mod n
10779 // u2 = rs^−1 mod n
ebd8d4e8
IC
10780 var u1 = e.multiply(c).mod(n)
10781 var u2 = r.multiply(c).mod(n)
10782
ab78acc6
IC
10783 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10784 var R = G.multiplyTwo(u1, Q, u2)
10785 var v = R.affineX.mod(n)
ebd8d4e8 10786
ab78acc6
IC
10787 // 1.4.5 (cont.) Enforce R is not at infinity
10788 if (curve.isInfinity(R)) return false
10789
10790 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10791 return v.equals(r)
10792}
10793
ab78acc6
IC
10794function verify (curve, hash, signature, Q) {
10795 // 1.4.2 H = Hash(M), already done by the user
10796 // 1.4.3 e = H
10797 var e = BigInteger.fromBuffer(hash)
10798
10799 return verifyRaw(curve, e, signature, Q)
10800}
10801
ebd8d4e8
IC
10802/**
10803 * Recover a public key from a signature.
10804 *
10805 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10806 * Key Recovery Operation".
10807 *
10808 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10809 */
ab78acc6 10810function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10811 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10812
ab78acc6
IC
10813 var n = curve.n
10814 var G = curve.G
10815
ebd8d4e8
IC
10816 var r = signature.r
10817 var s = signature.s
10818
ab78acc6
IC
10819 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10820 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10821
ebd8d4e8
IC
10822 // A set LSB signifies that the y-coordinate is odd
10823 var isYOdd = i & 1
10824
10825 // The more significant bit specifies whether we should use the
10826 // first or second candidate key.
10827 var isSecondKey = i >> 1
10828
ebd8d4e8
IC
10829 // 1.1 Let x = r + jn
10830 var x = isSecondKey ? r.add(n) : r
10831 var R = curve.pointFromX(isYOdd, x)
10832
10833 // 1.4 Check that nR is at infinity
10834 var nR = R.multiply(n)
10835 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10836
10837 // Compute -e from e
10838 var eNeg = e.negate().mod(n)
10839
10840 // 1.6.1 Compute Q = r^-1 (sR - eG)
10841 // Q = r^-1 (sR + -eG)
10842 var rInv = r.modInverse(n)
10843
10844 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10845 curve.validate(Q)
10846
10847 return Q
10848}
10849
10850/**
10851 * Calculate pubkey extraction parameter.
10852 *
10853 * When extracting a pubkey from a signature, we have to
10854 * distinguish four different cases. Rather than putting this
10855 * burden on the verifier, Bitcoin includes a 2-bit value with the
10856 * signature.
10857 *
10858 * This function simply tries all four cases and returns the value
10859 * that resulted in a successful pubkey recovery.
10860 */
ab78acc6 10861function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10862 for (var i = 0; i < 4; i++) {
10863 var Qprime = recoverPubKey(curve, e, signature, i)
10864
10865 // 1.6.2 Verify Q
10866 if (Qprime.equals(Q)) {
10867 return i
10868 }
10869 }
10870
10871 throw new Error('Unable to find valid recovery factor')
10872}
10873
10874module.exports = {
10875 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
10876 deterministicGenerateK: deterministicGenerateK,
10877 recoverPubKey: recoverPubKey,
10878 sign: sign,
10879 verify: verify,
10880 verifyRaw: verifyRaw
10881}
10882
ab78acc6
IC
10883}).call(this,require("buffer").Buffer)
10884},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 10885(function (Buffer){
ab78acc6
IC
10886var assert = require('assert')
10887var base58check = require('bs58check')
10888var ecdsa = require('./ecdsa')
10889var networks = require('./networks')
10890var randomBytes = require('randombytes')
10891var typeForce = require('typeforce')
ebd8d4e8 10892
ab78acc6
IC
10893var BigInteger = require('bigi')
10894var ECPubKey = require('./ecpubkey')
ebd8d4e8 10895
ab78acc6
IC
10896var ecurve = require('ecurve')
10897var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10898
ab78acc6 10899function ECKey (d, compressed) {
ebd8d4e8 10900 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 10901 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 10902
ab78acc6 10903 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
10904
10905 this.d = d
10906 this.pub = new ECPubKey(Q, compressed)
10907}
10908
ab78acc6
IC
10909// Constants
10910ECKey.curve = secp256k1
10911
ebd8d4e8 10912// Static constructors
ab78acc6 10913ECKey.fromWIF = function (string) {
ebd8d4e8
IC
10914 var payload = base58check.decode(string)
10915 var compressed = false
10916
10917 // Ignore the version byte
10918 payload = payload.slice(1)
10919
10920 if (payload.length === 33) {
10921 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
10922
10923 // Truncate the compression flag
10924 payload = payload.slice(0, -1)
10925 compressed = true
10926 }
10927
10928 assert.equal(payload.length, 32, 'Invalid WIF payload length')
10929
10930 var d = BigInteger.fromBuffer(payload)
10931 return new ECKey(d, compressed)
10932}
10933
ab78acc6
IC
10934ECKey.makeRandom = function (compressed, rng) {
10935 rng = rng || randomBytes
ebd8d4e8
IC
10936
10937 var buffer = rng(32)
ab78acc6
IC
10938 typeForce('Buffer', buffer)
10939 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
10940
10941 var d = BigInteger.fromBuffer(buffer)
ab78acc6 10942 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
10943
10944 return new ECKey(d, compressed)
10945}
10946
10947// Export functions
ab78acc6 10948ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
10949 network = network || networks.bitcoin
10950
10951 var bufferLen = this.pub.compressed ? 34 : 33
10952 var buffer = new Buffer(bufferLen)
10953
10954 buffer.writeUInt8(network.wif, 0)
10955 this.d.toBuffer(32).copy(buffer, 1)
10956
10957 if (this.pub.compressed) {
10958 buffer.writeUInt8(0x01, 33)
10959 }
10960
10961 return base58check.encode(buffer)
10962}
10963
10964// Operations
ab78acc6
IC
10965ECKey.prototype.sign = function (hash) {
10966 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
10967}
10968
10969module.exports = ECKey
10970
ab78acc6
IC
10971}).call(this,require("buffer").Buffer)
10972},{"./ecdsa":59,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"ecurve":49,"randombytes":52,"typeforce":53}],61:[function(require,module,exports){
ebd8d4e8 10973(function (Buffer){
ab78acc6
IC
10974var crypto = require('./crypto')
10975var ecdsa = require('./ecdsa')
10976var typeForce = require('typeforce')
10977var networks = require('./networks')
ebd8d4e8 10978
ab78acc6 10979var Address = require('./address')
ebd8d4e8 10980
ab78acc6
IC
10981var ecurve = require('ecurve')
10982var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10983
ab78acc6
IC
10984function ECPubKey (Q, compressed) {
10985 if (compressed === undefined) {
10986 compressed = true
10987 }
ebd8d4e8 10988
ab78acc6
IC
10989 typeForce('Point', Q)
10990 typeForce('Boolean', compressed)
ebd8d4e8
IC
10991
10992 this.compressed = compressed
10993 this.Q = Q
10994}
10995
ab78acc6
IC
10996// Constants
10997ECPubKey.curve = secp256k1
10998
ebd8d4e8 10999// Static constructors
ab78acc6
IC
11000ECPubKey.fromBuffer = function (buffer) {
11001 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11002 return new ECPubKey(Q, Q.compressed)
11003}
11004
ab78acc6 11005ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11006 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11007}
11008
11009// Operations
ab78acc6 11010ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11011 network = network || networks.bitcoin
11012
11013 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11014}
11015
ab78acc6
IC
11016ECPubKey.prototype.verify = function (hash, signature) {
11017 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11018}
11019
11020// Export functions
ab78acc6 11021ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11022 return this.Q.getEncoded(this.compressed)
11023}
11024
ab78acc6 11025ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11026 return this.toBuffer().toString('hex')
11027}
11028
11029module.exports = ECPubKey
11030
ab78acc6
IC
11031}).call(this,require("buffer").Buffer)
11032},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11033(function (Buffer){
ab78acc6
IC
11034var assert = require('assert')
11035var typeForce = require('typeforce')
11036
11037var BigInteger = require('bigi')
11038
11039function ECSignature (r, s) {
11040 typeForce('BigInteger', r)
11041 typeForce('BigInteger', s)
ebd8d4e8 11042
ebd8d4e8
IC
11043 this.r = r
11044 this.s = s
11045}
11046
ab78acc6 11047ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11048 assert.equal(buffer.length, 65, 'Invalid signature length')
11049 var i = buffer.readUInt8(0) - 27
11050
11051 // At most 3 bits
11052 assert.equal(i, i & 7, 'Invalid signature parameter')
11053 var compressed = !!(i & 4)
11054
11055 // Recovery param only
11056 i = i & 3
11057
11058 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11059 var s = BigInteger.fromBuffer(buffer.slice(33))
11060
11061 return {
11062 compressed: compressed,
11063 i: i,
11064 signature: new ECSignature(r, s)
11065 }
11066}
11067
ab78acc6 11068ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11069 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11070 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11071 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11072
11073 var rLen = buffer.readUInt8(3)
11074 assert(rLen > 0, 'R length is zero')
11075
11076 var offset = 4 + rLen
11077 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11078
11079 var sLen = buffer.readUInt8(offset + 1)
11080 assert(sLen > 0, 'S length is zero')
11081
11082 var rB = buffer.slice(4, offset)
11083 var sB = buffer.slice(offset + 2)
11084 offset += 2 + sLen
11085
11086 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11087 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11088 }
11089
11090 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11091 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11092 }
11093
11094 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11095 var r = BigInteger.fromDERInteger(rB)
11096 var s = BigInteger.fromDERInteger(sB)
11097
11098 assert(r.signum() >= 0, 'R value is negative')
11099 assert(s.signum() >= 0, 'S value is negative')
11100
11101 return new ECSignature(r, s)
11102}
11103
ab78acc6
IC
11104// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11105ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11106 var hashType = buffer.readUInt8(buffer.length - 1)
11107 var hashTypeMod = hashType & ~0x80
11108
ab78acc6 11109 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11110
11111 return {
11112 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11113 hashType: hashType
11114 }
11115}
11116
ab78acc6
IC
11117ECSignature.prototype.toCompact = function (i, compressed) {
11118 if (compressed) {
11119 i += 4
11120 }
11121
ebd8d4e8
IC
11122 i += 27
11123
11124 var buffer = new Buffer(65)
11125 buffer.writeUInt8(i, 0)
11126
11127 this.r.toBuffer(32).copy(buffer, 1)
11128 this.s.toBuffer(32).copy(buffer, 33)
11129
11130 return buffer
11131}
11132
ab78acc6 11133ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11134 var rBa = this.r.toDERInteger()
11135 var sBa = this.s.toDERInteger()
11136
11137 var sequence = []
ab78acc6
IC
11138
11139 // INTEGER
11140 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11141 sequence = sequence.concat(rBa)
11142
ab78acc6
IC
11143 // INTEGER
11144 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11145 sequence = sequence.concat(sBa)
11146
ab78acc6
IC
11147 // SEQUENCE
11148 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11149
11150 return new Buffer(sequence)
11151}
11152
ab78acc6
IC
11153ECSignature.prototype.toScriptSignature = function (hashType) {
11154 var hashTypeMod = hashType & ~0x80
11155 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11156
ebd8d4e8
IC
11157 var hashTypeBuffer = new Buffer(1)
11158 hashTypeBuffer.writeUInt8(hashType, 0)
11159
11160 return Buffer.concat([this.toDER(), hashTypeBuffer])
11161}
11162
11163module.exports = ECSignature
11164
ab78acc6
IC
11165}).call(this,require("buffer").Buffer)
11166},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11167(function (Buffer){
ab78acc6
IC
11168var assert = require('assert')
11169var base58check = require('bs58check')
11170var bcrypto = require('./crypto')
11171var createHmac = require('create-hmac')
11172var typeForce = require('typeforce')
11173var networks = require('./networks')
11174
11175var BigInteger = require('bigi')
11176var ECKey = require('./eckey')
11177var ECPubKey = require('./ecpubkey')
11178
11179var ecurve = require('ecurve')
ebd8d4e8
IC
11180var curve = ecurve.getCurveByName('secp256k1')
11181
ab78acc6 11182function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11183 for (var name in networks) {
11184 var network = networks[name]
11185
ab78acc6
IC
11186 if (version === network.bip32.private || version === network.bip32.public) {
11187 return network
ebd8d4e8
IC
11188 }
11189 }
11190
ab78acc6 11191 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11192}
11193
ab78acc6 11194function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11195 network = network || networks.bitcoin
11196
ab78acc6
IC
11197 typeForce('Buffer', chainCode)
11198
11199 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11200 assert(network.bip32, 'Unknown BIP32 constants for network')
11201
11202 this.chainCode = chainCode
11203 this.depth = 0
11204 this.index = 0
ab78acc6 11205 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11206 this.network = network
11207
11208 if (K instanceof BigInteger) {
11209 this.privKey = new ECKey(K, true)
11210 this.pubKey = this.privKey.pub
ab78acc6
IC
11211 } else if (K instanceof ECKey) {
11212 assert(K.pub.compressed, 'ECKey must be compressed')
11213 this.privKey = K
11214 this.pubKey = K.pub
11215 } else if (K instanceof ECPubKey) {
11216 assert(K.compressed, 'ECPubKey must be compressed')
11217 this.pubKey = K
ebd8d4e8
IC
11218 } else {
11219 this.pubKey = new ECPubKey(K, true)
11220 }
11221}
11222
11223HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11224HDNode.HIGHEST_BIT = 0x80000000
11225HDNode.LENGTH = 78
11226
ab78acc6
IC
11227HDNode.fromSeedBuffer = function (seed, network) {
11228 typeForce('Buffer', seed)
11229
11230 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11231 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11232
11233 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11234 var IL = I.slice(0, 32)
11235 var IR = I.slice(32)
11236
11237 // In case IL is 0 or >= n, the master key is invalid
11238 // This is handled by `new ECKey` in the HDNode constructor
11239 var pIL = BigInteger.fromBuffer(IL)
11240
11241 return new HDNode(pIL, IR, network)
11242}
11243
ab78acc6 11244HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11245 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11246}
11247
ab78acc6
IC
11248HDNode.fromBase58 = function (string, network) {
11249 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11250}
11251
ab78acc6
IC
11252// FIXME: remove in 2.x.y
11253HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11254 if (!__ignoreDeprecation) {
11255 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11256 }
11257
ebd8d4e8
IC
11258 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11259
11260 // 4 byte: version bytes
11261 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11262
11263 if (network) {
11264 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11265
11266 // auto-detect
11267 } else {
11268 network = findBIP32NetworkByVersion(version)
11269 }
ebd8d4e8
IC
11270
11271 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11272 var depth = buffer.readUInt8(4)
11273
11274 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11275 var parentFingerprint = buffer.readUInt32BE(5)
11276 if (depth === 0) {
11277 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11278 }
11279
11280 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11281 // This is encoded in MSB order. (0x00000000 if master key)
11282 var index = buffer.readUInt32BE(9)
11283 assert(depth > 0 || index === 0, 'Invalid index')
11284
11285 // 32 bytes: the chain code
11286 var chainCode = buffer.slice(13, 45)
ab78acc6 11287 var data, hd
ebd8d4e8
IC
11288
11289 // 33 bytes: private key data (0x00 + k)
ab78acc6 11290 if (version === network.bip32.private) {
ebd8d4e8 11291 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11292 data = buffer.slice(46, 78)
ebd8d4e8 11293 var d = BigInteger.fromBuffer(data)
ab78acc6 11294 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11295
11296 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11297 } else {
ab78acc6 11298 data = buffer.slice(45, 78)
ebd8d4e8
IC
11299 var Q = ecurve.Point.decodeFrom(curve, data)
11300 assert.equal(Q.compressed, true, 'Invalid public key')
11301
11302 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11303 // If not, the extended public key is invalid.
11304 curve.validate(Q)
11305
ab78acc6 11306 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11307 }
11308
11309 hd.depth = depth
11310 hd.index = index
11311 hd.parentFingerprint = parentFingerprint
11312
11313 return hd
11314}
11315
ab78acc6
IC
11316// FIXME: remove in 2.x.y
11317HDNode.fromHex = function (hex, network) {
11318 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11319}
11320
ab78acc6
IC
11321HDNode.prototype.getIdentifier = function () {
11322 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11323}
11324
ab78acc6 11325HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11326 return this.getIdentifier().slice(0, 4)
11327}
11328
ab78acc6 11329HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11330 return this.pubKey.getAddress(this.network)
11331}
11332
ab78acc6
IC
11333HDNode.prototype.neutered = function () {
11334 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11335 neutered.depth = this.depth
11336 neutered.index = this.index
11337 neutered.parentFingerprint = this.parentFingerprint
11338
11339 return neutered
11340}
11341
11342HDNode.prototype.toBase58 = function (isPrivate) {
11343 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11344}
11345
ab78acc6
IC
11346// FIXME: remove in 2.x.y
11347HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11348 if (isPrivate === undefined) {
11349 isPrivate = !!this.privKey
11350
11351 // FIXME: remove in 2.x.y
11352 } else {
11353 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11354 }
11355
11356 if (!__ignoreDeprecation) {
11357 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11358 }
ebd8d4e8
IC
11359
11360 // Version
11361 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11362 var buffer = new Buffer(HDNode.LENGTH)
11363
11364 // 4 bytes: version bytes
11365 buffer.writeUInt32BE(version, 0)
11366
11367 // Depth
11368 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11369 buffer.writeUInt8(this.depth, 4)
11370
11371 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11372 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11373
11374 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11375 // This is encoded in Big endian. (0x00000000 if master key)
11376 buffer.writeUInt32BE(this.index, 9)
11377
11378 // 32 bytes: the chain code
11379 this.chainCode.copy(buffer, 13)
11380
11381 // 33 bytes: the public key or private key data
11382 if (isPrivate) {
ab78acc6 11383 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11384 assert(this.privKey, 'Missing private key')
11385
11386 // 0x00 + k for private keys
11387 buffer.writeUInt8(0, 45)
11388 this.privKey.d.toBuffer(32).copy(buffer, 46)
11389 } else {
ebd8d4e8
IC
11390 // X9.62 encoding for public keys
11391 this.pubKey.toBuffer().copy(buffer, 45)
11392 }
11393
11394 return buffer
11395}
11396
ab78acc6
IC
11397// FIXME: remove in 2.x.y
11398HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11399 return this.toBuffer(isPrivate).toString('hex')
11400}
11401
11402// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11403HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11404 var isHardened = index >= HDNode.HIGHEST_BIT
11405 var indexBuffer = new Buffer(4)
11406 indexBuffer.writeUInt32BE(index, 0)
11407
11408 var data
11409
11410 // Hardened child
11411 if (isHardened) {
11412 assert(this.privKey, 'Could not derive hardened child key')
11413
11414 // data = 0x00 || ser256(kpar) || ser32(index)
11415 data = Buffer.concat([
11416 this.privKey.d.toBuffer(33),
11417 indexBuffer
11418 ])
11419
11420 // Normal child
11421 } else {
11422 // data = serP(point(kpar)) || ser32(index)
11423 // = serP(Kpar) || ser32(index)
11424 data = Buffer.concat([
11425 this.pubKey.toBuffer(),
11426 indexBuffer
11427 ])
11428 }
11429
ab78acc6 11430 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11431 var IL = I.slice(0, 32)
11432 var IR = I.slice(32)
11433
11434 var pIL = BigInteger.fromBuffer(IL)
11435
11436 // In case parse256(IL) >= n, proceed with the next value for i
11437 if (pIL.compareTo(curve.n) >= 0) {
11438 return this.derive(index + 1)
11439 }
11440
11441 // Private parent key -> private child key
11442 var hd
11443 if (this.privKey) {
11444 // ki = parse256(IL) + kpar (mod n)
11445 var ki = pIL.add(this.privKey.d).mod(curve.n)
11446
11447 // In case ki == 0, proceed with the next value for i
11448 if (ki.signum() === 0) {
11449 return this.derive(index + 1)
11450 }
11451
11452 hd = new HDNode(ki, IR, this.network)
11453
11454 // Public parent key -> public child key
11455 } else {
11456 // Ki = point(parse256(IL)) + Kpar
11457 // = G*IL + Kpar
11458 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11459
11460 // In case Ki is the point at infinity, proceed with the next value for i
11461 if (curve.isInfinity(Ki)) {
11462 return this.derive(index + 1)
11463 }
11464
11465 hd = new HDNode(Ki, IR, this.network)
11466 }
11467
11468 hd.depth = this.depth + 1
11469 hd.index = index
11470 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11471
11472 return hd
11473}
11474
ab78acc6 11475HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11476 // Only derives hardened private keys by default
11477 return this.derive(index + HDNode.HIGHEST_BIT)
11478}
11479
11480HDNode.prototype.toString = HDNode.prototype.toBase58
11481
11482module.exports = HDNode
11483
ab78acc6
IC
11484}).call(this,require("buffer").Buffer)
11485},{"./crypto":58,"./eckey":60,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"create-hmac":45,"ecurve":49,"typeforce":53}],64:[function(require,module,exports){
ebd8d4e8 11486module.exports = {
ab78acc6
IC
11487 Address: require('./address'),
11488 base58check: require('./base58check'),
11489 Block: require('./block'),
11490 bufferutils: require('./bufferutils'),
11491 crypto: require('./crypto'),
11492 ecdsa: require('./ecdsa'),
11493 ECKey: require('./eckey'),
11494 ECPubKey: require('./ecpubkey'),
11495 ECSignature: require('./ecsignature'),
11496 Message: require('./message'),
11497 opcodes: require('./opcodes'),
11498 HDNode: require('./hdnode'),
11499 Script: require('./script'),
11500 scripts: require('./scripts'),
11501 Transaction: require('./transaction'),
11502 TransactionBuilder: require('./transaction_builder'),
11503 networks: require('./networks'),
11504 Wallet: require('./wallet')
11505}
11506
11507},{"./address":54,"./base58check":55,"./block":56,"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./eckey":60,"./ecpubkey":61,"./ecsignature":62,"./hdnode":63,"./message":65,"./networks":66,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"./transaction_builder":71,"./wallet":72}],65:[function(require,module,exports){
ebd8d4e8 11508(function (Buffer){
ab78acc6
IC
11509var bufferutils = require('./bufferutils')
11510var crypto = require('./crypto')
11511var ecdsa = require('./ecdsa')
11512var networks = require('./networks')
11513
11514var BigInteger = require('bigi')
11515var ECPubKey = require('./ecpubkey')
11516var ECSignature = require('./ecsignature')
11517
11518var ecurve = require('ecurve')
ebd8d4e8
IC
11519var ecparams = ecurve.getCurveByName('secp256k1')
11520
ab78acc6 11521function magicHash (message, network) {
ebd8d4e8
IC
11522 var magicPrefix = new Buffer(network.magicPrefix)
11523 var messageBuffer = new Buffer(message)
ab78acc6 11524 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11525
11526 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11527 return crypto.hash256(buffer)
11528}
11529
ab78acc6 11530function sign (privKey, message, network) {
ebd8d4e8
IC
11531 network = network || networks.bitcoin
11532
11533 var hash = magicHash(message, network)
11534 var signature = privKey.sign(hash)
11535 var e = BigInteger.fromBuffer(hash)
11536 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11537
11538 return signature.toCompact(i, privKey.pub.compressed)
11539}
11540
11541// TODO: network could be implied from address
ab78acc6
IC
11542function verify (address, signature, message, network) {
11543 if (!Buffer.isBuffer(signature)) {
11544 signature = new Buffer(signature, 'base64')
ebd8d4e8 11545 }
ab78acc6 11546
ebd8d4e8
IC
11547 network = network || networks.bitcoin
11548
11549 var hash = magicHash(message, network)
ab78acc6 11550 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11551 var e = BigInteger.fromBuffer(hash)
11552 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11553
11554 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11555 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11556}
11557
11558module.exports = {
11559 magicHash: magicHash,
11560 sign: sign,
11561 verify: verify
11562}
11563
ab78acc6
IC
11564}).call(this,require("buffer").Buffer)
11565},{"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./ecpubkey":61,"./ecsignature":62,"./networks":66,"bigi":3,"buffer":7,"ecurve":49}],66:[function(require,module,exports){
ebd8d4e8
IC
11566// https://en.bitcoin.it/wiki/List_of_address_prefixes
11567// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11568
11569var networks = {
11570 bitcoin: {
11571 magicPrefix: '\x18Bitcoin Signed Message:\n',
11572 bip32: {
11573 public: 0x0488b21e,
11574 private: 0x0488ade4
11575 },
11576 pubKeyHash: 0x00,
11577 scriptHash: 0x05,
11578 wif: 0x80,
11579 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11580 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11581 estimateFee: estimateFee('bitcoin')
a9385c1b 11582 },
ab78acc6
IC
11583 testnet: {
11584 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11585 bip32: {
ab78acc6
IC
11586 public: 0x043587cf,
11587 private: 0x04358394
a9385c1b 11588 },
ab78acc6
IC
11589 pubKeyHash: 0x6f,
11590 scriptHash: 0xc4,
11591 wif: 0xef,
11592 dustThreshold: 546,
cb325c58 11593 feePerKb: 10000,
ab78acc6 11594 estimateFee: estimateFee('testnet')
a9385c1b 11595 },
ab78acc6
IC
11596 litecoin: {
11597 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11598 bip32: {
ab78acc6
IC
11599 public: 0x019da462,
11600 private: 0x019d9cfe
a9385c1b 11601 },
ab78acc6
IC
11602 pubKeyHash: 0x30,
11603 scriptHash: 0x05,
11604 wif: 0xb0,
11605 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11606 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11607 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11608 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11609 },
11610 dogecoin: {
11611 magicPrefix: '\x19Dogecoin Signed Message:\n',
11612 bip32: {
11613 public: 0x02facafd,
11614 private: 0x02fac398
11615 },
11616 pubKeyHash: 0x1e,
11617 scriptHash: 0x16,
11618 wif: 0x9e,
11619 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11620 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11621 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11622 estimateFee: estimateFee('dogecoin')
11623 },
ab78acc6
IC
11624 viacoin: {
11625 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11626 bip32: {
ab78acc6
IC
11627 public: 0x0488b21e,
11628 private: 0x0488ade4
ebd8d4e8 11629 },
ab78acc6
IC
11630 pubKeyHash: 0x47,
11631 scriptHash: 0x21,
11632 wif: 0xc7,
11633 dustThreshold: 560,
11634 dustSoftThreshold: 100000,
11635 feePerKb: 100000, //
11636 estimateFee: estimateFee('viacoin')
ebd8d4e8 11637 },
ab78acc6
IC
11638 viacointestnet: {
11639 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11640 bip32: {
11641 public: 0x043587cf,
11642 private: 0x04358394
11643 },
ab78acc6 11644 pubKeyHash: 0x7f,
ebd8d4e8 11645 scriptHash: 0xc4,
ab78acc6
IC
11646 wif: 0xff,
11647 dustThreshold: 560,
11648 dustSoftThreshold: 100000,
11649 feePerKb: 100000,
11650 estimateFee: estimateFee('viacointestnet')
11651 },
11652 gamerscoin: {
11653 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11654 bip32: {
11655 public: 0x019da462,
11656 private: 0x019d9cfe
11657 },
11658 pubKeyHash: 0x26,
11659 scriptHash: 0x05,
11660 wif: 0xA6,
11661 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11662 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11663 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11664 estimateFee: estimateFee('gamerscoin')
11665 },
11666 jumbucks: {
11667 magicPrefix: '\x19Jumbucks Signed Message:\n',
11668 bip32: {
11669 public: 0x037a689a,
11670 private: 0x037a6460
11671 },
11672 pubKeyHash: 0x2b,
11673 scriptHash: 0x05,
11674 wif: 0xab,
11675 dustThreshold: 0,
11676 dustSoftThreshold: 10000,
ebd8d4e8 11677 feePerKb: 10000,
ab78acc6
IC
11678 estimateFee: estimateFee('jumbucks')
11679 },
11680 zetacoin: {
11681 magicPrefix: '\x18Zetacoin Signed Message:\n',
11682 bip32: {
11683 public: 0x0488b21e,
11684 private: 0x0488ade4
11685 },
11686 pubKeyHash: 0x50,
11687 scriptHash: 0x09,
11688 wif: 0xe0,
11689 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11690 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11691 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11692 }
11693}
11694
ab78acc6
IC
11695function estimateFee (type) {
11696 return function (tx) {
ebd8d4e8
IC
11697 var network = networks[type]
11698 var baseFee = network.feePerKb
11699 var byteSize = tx.toBuffer().length
11700
11701 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11702 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11703
ab78acc6 11704 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11705 if (e.value < network.dustSoftThreshold) {
11706 fee += baseFee
11707 }
11708 })
11709
11710 return fee
11711 }
11712}
11713
11714module.exports = networks
11715
ab78acc6 11716},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11717module.exports = {
11718 // push value
ab78acc6
IC
11719 OP_FALSE: 0,
11720 OP_0: 0,
11721 OP_PUSHDATA1: 76,
11722 OP_PUSHDATA2: 77,
11723 OP_PUSHDATA4: 78,
11724 OP_1NEGATE: 79,
11725 OP_RESERVED: 80,
11726 OP_1: 81,
11727 OP_TRUE: 81,
11728 OP_2: 82,
11729 OP_3: 83,
11730 OP_4: 84,
11731 OP_5: 85,
11732 OP_6: 86,
11733 OP_7: 87,
11734 OP_8: 88,
11735 OP_9: 89,
11736 OP_10: 90,
11737 OP_11: 91,
11738 OP_12: 92,
11739 OP_13: 93,
11740 OP_14: 94,
11741 OP_15: 95,
11742 OP_16: 96,
ebd8d4e8
IC
11743
11744 // control
ab78acc6
IC
11745 OP_NOP: 97,
11746 OP_VER: 98,
11747 OP_IF: 99,
11748 OP_NOTIF: 100,
11749 OP_VERIF: 101,
11750 OP_VERNOTIF: 102,
11751 OP_ELSE: 103,
11752 OP_ENDIF: 104,
11753 OP_VERIFY: 105,
11754 OP_RETURN: 106,
ebd8d4e8
IC
11755
11756 // stack ops
ab78acc6
IC
11757 OP_TOALTSTACK: 107,
11758 OP_FROMALTSTACK: 108,
11759 OP_2DROP: 109,
11760 OP_2DUP: 110,
11761 OP_3DUP: 111,
11762 OP_2OVER: 112,
11763 OP_2ROT: 113,
11764 OP_2SWAP: 114,
11765 OP_IFDUP: 115,
11766 OP_DEPTH: 116,
11767 OP_DROP: 117,
11768 OP_DUP: 118,
11769 OP_NIP: 119,
11770 OP_OVER: 120,
11771 OP_PICK: 121,
11772 OP_ROLL: 122,
11773 OP_ROT: 123,
11774 OP_SWAP: 124,
11775 OP_TUCK: 125,
ebd8d4e8
IC
11776
11777 // splice ops
ab78acc6
IC
11778 OP_CAT: 126,
11779 OP_SUBSTR: 127,
11780 OP_LEFT: 128,
11781 OP_RIGHT: 129,
11782 OP_SIZE: 130,
ebd8d4e8
IC
11783
11784 // bit logic
ab78acc6
IC
11785 OP_INVERT: 131,
11786 OP_AND: 132,
11787 OP_OR: 133,
11788 OP_XOR: 134,
11789 OP_EQUAL: 135,
11790 OP_EQUALVERIFY: 136,
11791 OP_RESERVED1: 137,
11792 OP_RESERVED2: 138,
ebd8d4e8
IC
11793
11794 // numeric
ab78acc6
IC
11795 OP_1ADD: 139,
11796 OP_1SUB: 140,
11797 OP_2MUL: 141,
11798 OP_2DIV: 142,
11799 OP_NEGATE: 143,
11800 OP_ABS: 144,
11801 OP_NOT: 145,
11802 OP_0NOTEQUAL: 146,
11803
11804 OP_ADD: 147,
11805 OP_SUB: 148,
11806 OP_MUL: 149,
11807 OP_DIV: 150,
11808 OP_MOD: 151,
11809 OP_LSHIFT: 152,
11810 OP_RSHIFT: 153,
11811
11812 OP_BOOLAND: 154,
11813 OP_BOOLOR: 155,
11814 OP_NUMEQUAL: 156,
11815 OP_NUMEQUALVERIFY: 157,
11816 OP_NUMNOTEQUAL: 158,
11817 OP_LESSTHAN: 159,
11818 OP_GREATERTHAN: 160,
11819 OP_LESSTHANOREQUAL: 161,
11820 OP_GREATERTHANOREQUAL: 162,
11821 OP_MIN: 163,
11822 OP_MAX: 164,
11823
11824 OP_WITHIN: 165,
ebd8d4e8
IC
11825
11826 // crypto
ab78acc6
IC
11827 OP_RIPEMD160: 166,
11828 OP_SHA1: 167,
11829 OP_SHA256: 168,
11830 OP_HASH160: 169,
11831 OP_HASH256: 170,
11832 OP_CODESEPARATOR: 171,
11833 OP_CHECKSIG: 172,
11834 OP_CHECKSIGVERIFY: 173,
11835 OP_CHECKMULTISIG: 174,
11836 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11837
11838 // expansion
ab78acc6
IC
11839 OP_NOP1: 176,
11840 OP_NOP2: 177,
11841 OP_NOP3: 178,
11842 OP_NOP4: 179,
11843 OP_NOP5: 180,
11844 OP_NOP6: 181,
11845 OP_NOP7: 182,
11846 OP_NOP8: 183,
11847 OP_NOP9: 184,
11848 OP_NOP10: 185,
ebd8d4e8
IC
11849
11850 // template matching params
ab78acc6
IC
11851 OP_PUBKEYHASH: 253,
11852 OP_PUBKEY: 254,
11853 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11854}
11855
ab78acc6 11856},{}],68:[function(require,module,exports){
ebd8d4e8 11857(function (Buffer){
ab78acc6
IC
11858var assert = require('assert')
11859var bufferutils = require('./bufferutils')
11860var crypto = require('./crypto')
11861var typeForce = require('typeforce')
11862var opcodes = require('./opcodes')
ebd8d4e8 11863
ab78acc6
IC
11864function Script (buffer, chunks) {
11865 typeForce('Buffer', buffer)
11866 typeForce('Array', chunks)
ebd8d4e8
IC
11867
11868 this.buffer = buffer
11869 this.chunks = chunks
11870}
11871
ab78acc6 11872Script.fromASM = function (asm) {
ebd8d4e8 11873 var strChunks = asm.split(' ')
ab78acc6
IC
11874 var chunks = strChunks.map(function (strChunk) {
11875 // opcode
ebd8d4e8
IC
11876 if (strChunk in opcodes) {
11877 return opcodes[strChunk]
11878
ab78acc6 11879 // data chunk
ebd8d4e8
IC
11880 } else {
11881 return new Buffer(strChunk, 'hex')
11882 }
11883 })
11884
11885 return Script.fromChunks(chunks)
11886}
11887
ab78acc6 11888Script.fromBuffer = function (buffer) {
ebd8d4e8 11889 var chunks = []
ebd8d4e8
IC
11890 var i = 0
11891
11892 while (i < buffer.length) {
11893 var opcode = buffer.readUInt8(i)
11894
ab78acc6 11895 // data chunk
ebd8d4e8
IC
11896 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
11897 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
11898
11899 // did reading a pushDataInt fail? return non-chunked script
11900 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
11901 i += d.size
11902
ab78acc6
IC
11903 // attempt to read too much data?
11904 if (i + d.number > buffer.length) return new Script(buffer, [])
11905
ebd8d4e8
IC
11906 var data = buffer.slice(i, i + d.number)
11907 i += d.number
11908
11909 chunks.push(data)
11910
ab78acc6 11911 // opcode
ebd8d4e8
IC
11912 } else {
11913 chunks.push(opcode)
11914
11915 i += 1
11916 }
11917 }
11918
11919 return new Script(buffer, chunks)
11920}
11921
ab78acc6
IC
11922Script.fromChunks = function (chunks) {
11923 typeForce('Array', chunks)
ebd8d4e8 11924
ab78acc6
IC
11925 var bufferSize = chunks.reduce(function (accum, chunk) {
11926 // data chunk
ebd8d4e8
IC
11927 if (Buffer.isBuffer(chunk)) {
11928 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
11929 }
11930
ab78acc6 11931 // opcode
ebd8d4e8
IC
11932 return accum + 1
11933 }, 0.0)
11934
11935 var buffer = new Buffer(bufferSize)
11936 var offset = 0
11937
ab78acc6
IC
11938 chunks.forEach(function (chunk) {
11939 // data chunk
ebd8d4e8
IC
11940 if (Buffer.isBuffer(chunk)) {
11941 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
11942
11943 chunk.copy(buffer, offset)
11944 offset += chunk.length
11945
ab78acc6 11946 // opcode
ebd8d4e8
IC
11947 } else {
11948 buffer.writeUInt8(chunk, offset)
11949 offset += 1
11950 }
11951 })
11952
11953 assert.equal(offset, buffer.length, 'Could not decode chunks')
11954 return new Script(buffer, chunks)
11955}
11956
ab78acc6 11957Script.fromHex = function (hex) {
ebd8d4e8
IC
11958 return Script.fromBuffer(new Buffer(hex, 'hex'))
11959}
11960
ebd8d4e8
IC
11961Script.EMPTY = Script.fromChunks([])
11962
ab78acc6 11963Script.prototype.getHash = function () {
ebd8d4e8
IC
11964 return crypto.hash160(this.buffer)
11965}
11966
11967// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
11968Script.prototype.without = function (needle) {
11969 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
11970 return op !== needle
11971 }))
11972}
11973
ebd8d4e8
IC
11974var reverseOps = []
11975for (var op in opcodes) {
11976 var code = opcodes[op]
11977 reverseOps[code] = op
11978}
11979
ab78acc6
IC
11980Script.prototype.toASM = function () {
11981 return this.chunks.map(function (chunk) {
11982 // data chunk
ebd8d4e8
IC
11983 if (Buffer.isBuffer(chunk)) {
11984 return chunk.toString('hex')
11985
ab78acc6 11986 // opcode
ebd8d4e8
IC
11987 } else {
11988 return reverseOps[chunk]
11989 }
11990 }).join(' ')
11991}
11992
ab78acc6 11993Script.prototype.toBuffer = function () {
ebd8d4e8
IC
11994 return this.buffer
11995}
11996
ab78acc6 11997Script.prototype.toHex = function () {
ebd8d4e8
IC
11998 return this.toBuffer().toString('hex')
11999}
12000
12001module.exports = Script
12002
ab78acc6
IC
12003}).call(this,require("buffer").Buffer)
12004},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12005(function (Buffer){
ab78acc6
IC
12006var assert = require('assert')
12007var ops = require('./opcodes')
12008var typeForce = require('typeforce')
ebd8d4e8 12009
ab78acc6 12010var ecurve = require('ecurve')
ebd8d4e8
IC
12011var curve = ecurve.getCurveByName('secp256k1')
12012
ab78acc6
IC
12013var ECSignature = require('./ecsignature')
12014var Script = require('./script')
ebd8d4e8 12015
ab78acc6 12016function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12017 if (!Buffer.isBuffer(buffer)) return false
12018
12019 try {
ebd8d4e8
IC
12020 ecurve.Point.decodeFrom(curve, buffer)
12021 } catch (e) {
ab78acc6
IC
12022 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12023 throw e
ebd8d4e8
IC
12024
12025 return false
12026 }
12027
12028 return true
12029}
12030
ab78acc6 12031function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12032 if (!Buffer.isBuffer(buffer)) return false
12033
12034 try {
12035 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12036 } catch (e) {
12037 if (!(e.message.match(/Not a DER sequence|Invalid sequence length|Expected a DER integer|R length is zero|S length is zero|R value excessively padded|S value excessively padded|R value is negative|S value is negative|Invalid hashType/))) {
12038 throw e
12039 }
ebd8d4e8
IC
12040
12041 return false
12042 }
12043
12044 return true
12045}
12046
ab78acc6
IC
12047function isPubKeyHashInput (script) {
12048 return script.chunks.length === 2 &&
12049 isCanonicalSignature(script.chunks[0]) &&
12050 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12051}
12052
ab78acc6
IC
12053function isPubKeyHashOutput (script) {
12054 return script.chunks.length === 5 &&
12055 script.chunks[0] === ops.OP_DUP &&
12056 script.chunks[1] === ops.OP_HASH160 &&
12057 Buffer.isBuffer(script.chunks[2]) &&
12058 script.chunks[2].length === 20 &&
12059 script.chunks[3] === ops.OP_EQUALVERIFY &&
12060 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12061}
12062
ab78acc6
IC
12063function isPubKeyInput (script) {
12064 return script.chunks.length === 1 &&
12065 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12066}
12067
ab78acc6
IC
12068function isPubKeyOutput (script) {
12069 return script.chunks.length === 2 &&
12070 isCanonicalPubKey(script.chunks[0]) &&
12071 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12072}
12073
ab78acc6
IC
12074function isScriptHashInput (script, allowIncomplete) {
12075 if (script.chunks.length < 2) return false
ebd8d4e8 12076
ab78acc6 12077 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12078 if (!Buffer.isBuffer(lastChunk)) return false
12079
ab78acc6
IC
12080 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12081 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12082
ab78acc6
IC
12083 // is redeemScript a valid script?
12084 if (redeemScript.chunks.length === 0) return false
12085
12086 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12087}
12088
ab78acc6
IC
12089function isScriptHashOutput (script) {
12090 return script.chunks.length === 3 &&
12091 script.chunks[0] === ops.OP_HASH160 &&
12092 Buffer.isBuffer(script.chunks[1]) &&
12093 script.chunks[1].length === 20 &&
12094 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12095}
12096
ab78acc6
IC
12097// allowIncomplete is to account for combining signatures
12098// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12099function isMultisigInput (script, allowIncomplete) {
12100 if (script.chunks.length < 2) return false
12101 if (script.chunks[0] !== ops.OP_0) return false
12102
12103 if (allowIncomplete) {
12104 return script.chunks.slice(1).every(function (chunk) {
12105 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12106 })
12107 }
12108
12109 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12110}
12111
ab78acc6
IC
12112function isMultisigOutput (script) {
12113 if (script.chunks.length < 4) return false
12114 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12115
ab78acc6
IC
12116 var mOp = script.chunks[0]
12117 if (mOp === ops.OP_0) return false
12118 if (mOp < ops.OP_1) return false
12119 if (mOp > ops.OP_16) return false
ebd8d4e8 12120
ab78acc6
IC
12121 var nOp = script.chunks[script.chunks.length - 2]
12122 if (nOp === ops.OP_0) return false
12123 if (nOp < ops.OP_1) return false
12124 if (nOp > ops.OP_16) return false
ebd8d4e8 12125
ab78acc6
IC
12126 var m = mOp - (ops.OP_1 - 1)
12127 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12128 if (n < m) return false
12129
ab78acc6 12130 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12131 if (n < pubKeys.length) return false
12132
12133 return pubKeys.every(isCanonicalPubKey)
12134}
12135
ab78acc6
IC
12136function isNullDataOutput (script) {
12137 return script.chunks[0] === ops.OP_RETURN
12138}
12139
12140function classifyOutput (script) {
12141 typeForce('Script', script)
12142
12143 if (isPubKeyHashOutput(script)) {
12144 return 'pubkeyhash'
12145 } else if (isScriptHashOutput(script)) {
12146 return 'scripthash'
12147 } else if (isMultisigOutput(script)) {
12148 return 'multisig'
12149 } else if (isPubKeyOutput(script)) {
12150 return 'pubkey'
12151 } else if (isNullDataOutput(script)) {
12152 return 'nulldata'
12153 }
12154
12155 return 'nonstandard'
12156}
12157
12158function classifyInput (script, allowIncomplete) {
12159 typeForce('Script', script)
12160
12161 if (isPubKeyHashInput(script)) {
12162 return 'pubkeyhash'
12163 } else if (isMultisigInput(script, allowIncomplete)) {
12164 return 'multisig'
12165 } else if (isScriptHashInput(script, allowIncomplete)) {
12166 return 'scripthash'
12167 } else if (isPubKeyInput(script)) {
12168 return 'pubkey'
12169 }
12170
12171 return 'nonstandard'
ebd8d4e8
IC
12172}
12173
12174// Standard Script Templates
12175// {pubKey} OP_CHECKSIG
ab78acc6 12176function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12177 return Script.fromChunks([
12178 pubKey.toBuffer(),
ab78acc6 12179 ops.OP_CHECKSIG
ebd8d4e8
IC
12180 ])
12181}
12182
12183// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12184function pubKeyHashOutput (hash) {
12185 typeForce('Buffer', hash)
ebd8d4e8
IC
12186
12187 return Script.fromChunks([
ab78acc6
IC
12188 ops.OP_DUP,
12189 ops.OP_HASH160,
ebd8d4e8 12190 hash,
ab78acc6
IC
12191 ops.OP_EQUALVERIFY,
12192 ops.OP_CHECKSIG
ebd8d4e8
IC
12193 ])
12194}
12195
12196// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12197function scriptHashOutput (hash) {
12198 typeForce('Buffer', hash)
ebd8d4e8
IC
12199
12200 return Script.fromChunks([
ab78acc6 12201 ops.OP_HASH160,
ebd8d4e8 12202 hash,
ab78acc6 12203 ops.OP_EQUAL
ebd8d4e8
IC
12204 ])
12205}
12206
12207// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12208function multisigOutput (m, pubKeys) {
12209 typeForce(['ECPubKey'], pubKeys)
12210
ebd8d4e8
IC
12211 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12212
ab78acc6 12213 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12214 return pubKey.toBuffer()
12215 })
12216 var n = pubKeys.length
12217
12218 return Script.fromChunks([].concat(
ab78acc6 12219 (ops.OP_1 - 1) + m,
ebd8d4e8 12220 pubKeyBuffers,
ab78acc6
IC
12221 (ops.OP_1 - 1) + n,
12222 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12223 ))
12224}
12225
12226// {signature}
ab78acc6
IC
12227function pubKeyInput (signature) {
12228 typeForce('Buffer', signature)
ebd8d4e8
IC
12229
12230 return Script.fromChunks([signature])
12231}
12232
12233// {signature} {pubKey}
ab78acc6
IC
12234function pubKeyHashInput (signature, pubKey) {
12235 typeForce('Buffer', signature)
ebd8d4e8
IC
12236
12237 return Script.fromChunks([signature, pubKey.toBuffer()])
12238}
12239
12240// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12241function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12242 return Script.fromChunks([].concat(
12243 scriptSig.chunks,
12244 scriptPubKey.toBuffer()
12245 ))
12246}
12247
12248// OP_0 [signatures ...]
ab78acc6 12249function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12250 if (scriptPubKey) {
ab78acc6
IC
12251 assert(isMultisigOutput(scriptPubKey))
12252
12253 var mOp = scriptPubKey.chunks[0]
12254 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12255 var m = mOp - (ops.OP_1 - 1)
12256 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12257
ab78acc6
IC
12258 assert(signatures.length >= m, 'Not enough signatures provided')
12259 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12260 }
12261
ab78acc6
IC
12262 return Script.fromChunks([].concat(ops.OP_0, signatures))
12263}
12264
12265function nullDataOutput (data) {
12266 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12267}
12268
12269module.exports = {
ab78acc6
IC
12270 isCanonicalPubKey: isCanonicalPubKey,
12271 isCanonicalSignature: isCanonicalSignature,
12272 isPubKeyHashInput: isPubKeyHashInput,
12273 isPubKeyHashOutput: isPubKeyHashOutput,
12274 isPubKeyInput: isPubKeyInput,
12275 isPubKeyOutput: isPubKeyOutput,
12276 isScriptHashInput: isScriptHashInput,
12277 isScriptHashOutput: isScriptHashOutput,
12278 isMultisigInput: isMultisigInput,
12279 isMultisigOutput: isMultisigOutput,
12280 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12281 classifyOutput: classifyOutput,
ab78acc6
IC
12282 classifyInput: classifyInput,
12283 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12284 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12285 scriptHashOutput: scriptHashOutput,
12286 multisigOutput: multisigOutput,
ebd8d4e8 12287 pubKeyInput: pubKeyInput,
ab78acc6 12288 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12289 scriptHashInput: scriptHashInput,
ab78acc6
IC
12290 multisigInput: multisigInput,
12291 dataOutput: function (data) {
12292 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12293 return nullDataOutput(data)
12294 },
12295 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12296}
12297
ab78acc6
IC
12298}).call(this,require("buffer").Buffer)
12299},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12300(function (Buffer){
ab78acc6
IC
12301var assert = require('assert')
12302var bufferutils = require('./bufferutils')
12303var crypto = require('./crypto')
12304var typeForce = require('typeforce')
12305var opcodes = require('./opcodes')
12306var scripts = require('./scripts')
12307
12308var Address = require('./address')
12309var ECSignature = require('./ecsignature')
12310var Script = require('./script')
12311
12312function Transaction () {
12313 this.version = 1
12314 this.locktime = 0
12315 this.ins = []
12316 this.outs = []
12317}
ebd8d4e8
IC
12318
12319Transaction.DEFAULT_SEQUENCE = 0xffffffff
12320Transaction.SIGHASH_ALL = 0x01
12321Transaction.SIGHASH_NONE = 0x02
12322Transaction.SIGHASH_SINGLE = 0x03
12323Transaction.SIGHASH_ANYONECANPAY = 0x80
12324
ab78acc6
IC
12325Transaction.fromBuffer = function (buffer, __disableAssert) {
12326 var offset = 0
12327 function readSlice (n) {
12328 offset += n
12329 return buffer.slice(offset - n, offset)
12330 }
12331
12332 function readUInt32 () {
12333 var i = buffer.readUInt32LE(offset)
12334 offset += 4
12335 return i
12336 }
12337
12338 function readUInt64 () {
12339 var i = bufferutils.readUInt64LE(buffer, offset)
12340 offset += 8
12341 return i
12342 }
12343
12344 function readVarInt () {
12345 var vi = bufferutils.readVarInt(buffer, offset)
12346 offset += vi.size
12347 return vi.number
12348 }
12349
12350 function readScript () {
12351 return Script.fromBuffer(readSlice(readVarInt()))
12352 }
12353
12354 function readGenerationScript () {
12355 return new Script(readSlice(readVarInt()), [])
12356 }
12357
12358 var tx = new Transaction()
12359 tx.version = readUInt32()
12360
12361 var vinLen = readVarInt()
12362 for (var i = 0; i < vinLen; ++i) {
12363 var hash = readSlice(32)
12364
12365 if (Transaction.isCoinbaseHash(hash)) {
12366 tx.ins.push({
12367 hash: hash,
12368 index: readUInt32(),
12369 script: readGenerationScript(),
12370 sequence: readUInt32()
12371 })
12372 } else {
12373 tx.ins.push({
12374 hash: hash,
12375 index: readUInt32(),
12376 script: readScript(),
12377 sequence: readUInt32()
12378 })
12379 }
12380 }
12381
12382 var voutLen = readVarInt()
12383 for (i = 0; i < voutLen; ++i) {
12384 tx.outs.push({
12385 value: readUInt64(),
12386 script: readScript()
12387 })
12388 }
12389
12390 tx.locktime = readUInt32()
12391
12392 if (!__disableAssert) {
12393 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12394 }
12395
12396 return tx
12397}
12398
12399Transaction.fromHex = function (hex) {
12400 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12401}
12402
12403Transaction.isCoinbaseHash = function (buffer) {
12404 return Array.prototype.every.call(buffer, function (x) {
12405 return x === 0
12406 })
ebd8d4e8
IC
12407}
12408
12409/**
ab78acc6 12410 * Create a new txIn.
ebd8d4e8
IC
12411 *
12412 * Can be called with any of:
12413 *
12414 * - A transaction and an index
12415 * - A transaction hash and an index
12416 *
12417 * Note that this method does not sign the created input.
12418 */
ab78acc6
IC
12419Transaction.prototype.addInput = function (hash, index, sequence, script) {
12420 if (sequence === undefined || sequence === null) {
12421 sequence = Transaction.DEFAULT_SEQUENCE
12422 }
ebd8d4e8 12423
ab78acc6 12424 script = script || Script.EMPTY
ebd8d4e8 12425
ab78acc6 12426 if (typeof hash === 'string') {
ebd8d4e8 12427 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12428 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12429 } else if (hash instanceof Transaction) {
12430 hash = hash.getHash()
ebd8d4e8
IC
12431 }
12432
ab78acc6
IC
12433 typeForce('Buffer', hash)
12434 typeForce('Number', index)
12435 typeForce('Number', sequence)
12436 typeForce('Script', script)
12437
ebd8d4e8 12438 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12439
ab78acc6 12440 // Add the input and return the input's index
ebd8d4e8
IC
12441 return (this.ins.push({
12442 hash: hash,
12443 index: index,
ab78acc6 12444 script: script,
ebd8d4e8
IC
12445 sequence: sequence
12446 }) - 1)
12447}
12448
12449/**
ab78acc6 12450 * Create a new txOut.
ebd8d4e8
IC
12451 *
12452 * Can be called with:
12453 *
12454 * - A base58 address string and a value
12455 * - An Address object and a value
12456 * - A scriptPubKey Script and a value
12457 */
ab78acc6 12458Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12459 // Attempt to get a valid address if it's a base58 address string
12460 if (typeof scriptPubKey === 'string') {
12461 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12462 }
12463
12464 // Attempt to get a valid script if it's an Address object
12465 if (scriptPubKey instanceof Address) {
ab78acc6 12466 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12467 }
12468
ab78acc6
IC
12469 typeForce('Script', scriptPubKey)
12470 typeForce('Number', value)
12471
12472 // Add the output and return the output's index
ebd8d4e8
IC
12473 return (this.outs.push({
12474 script: scriptPubKey,
ab78acc6 12475 value: value
ebd8d4e8
IC
12476 }) - 1)
12477}
12478
ab78acc6
IC
12479Transaction.prototype.clone = function () {
12480 var newTx = new Transaction()
12481 newTx.version = this.version
12482 newTx.locktime = this.locktime
12483
12484 newTx.ins = this.ins.map(function (txIn) {
12485 return {
12486 hash: txIn.hash,
12487 index: txIn.index,
12488 script: txIn.script,
12489 sequence: txIn.sequence
12490 }
12491 })
12492
12493 newTx.outs = this.outs.map(function (txOut) {
12494 return {
12495 script: txOut.script,
12496 value: txOut.value
12497 }
12498 })
12499
12500 return newTx
12501}
12502
12503/**
12504 * Hash transaction for signing a specific input.
12505 *
12506 * Bitcoin uses a different hash for each signed transaction input. This
12507 * method copies the transaction, makes the necessary changes based on the
12508 * hashType, serializes and finally hashes the result. This hash can then be
12509 * used to sign the transaction input in question.
12510 */
12511Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12512 // FIXME: remove in 2.x.y
12513 if (arguments[0] instanceof Script) {
12514 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12515
12516 // swap the arguments (must be stored in tmp, arguments is special)
12517 var tmp = arguments[0]
12518 inIndex = arguments[1]
12519 prevOutScript = tmp
12520 }
12521
12522 typeForce('Number', inIndex)
12523 typeForce('Script', prevOutScript)
12524 typeForce('Number', hashType)
12525
12526 assert(inIndex >= 0, 'Invalid vin index')
12527 assert(inIndex < this.ins.length, 'Invalid vin index')
12528
12529 var txTmp = this.clone()
12530 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12531
12532 // Blank out other inputs' signatures
12533 txTmp.ins.forEach(function (txIn) {
12534 txIn.script = Script.EMPTY
12535 })
12536 txTmp.ins[inIndex].script = hashScript
12537
12538 var hashTypeModifier = hashType & 0x1f
12539
12540 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12541 assert(false, 'SIGHASH_NONE not yet supported')
12542 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12543 assert(false, 'SIGHASH_SINGLE not yet supported')
12544 }
12545
12546 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12547 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12548 }
12549
12550 var hashTypeBuffer = new Buffer(4)
12551 hashTypeBuffer.writeInt32LE(hashType, 0)
12552
12553 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12554 return crypto.hash256(buffer)
12555}
12556
12557Transaction.prototype.getHash = function () {
12558 return crypto.hash256(this.toBuffer())
12559}
12560
12561Transaction.prototype.getId = function () {
12562 // TxHash is little-endian, we need big-endian
12563 return bufferutils.reverse(this.getHash()).toString('hex')
12564}
12565
ebd8d4e8 12566Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12567 function scriptSize (script) {
12568 var length = script.buffer.length
ebd8d4e8 12569
ab78acc6
IC
12570 return bufferutils.varIntSize(length) + length
12571 }
ebd8d4e8
IC
12572
12573 var buffer = new Buffer(
12574 8 +
12575 bufferutils.varIntSize(this.ins.length) +
12576 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12577 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12578 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12579 )
12580
12581 var offset = 0
ab78acc6 12582 function writeSlice (slice) {
ebd8d4e8
IC
12583 slice.copy(buffer, offset)
12584 offset += slice.length
12585 }
ab78acc6
IC
12586
12587 function writeUInt32 (i) {
ebd8d4e8
IC
12588 buffer.writeUInt32LE(i, offset)
12589 offset += 4
12590 }
ab78acc6
IC
12591
12592 function writeUInt64 (i) {
ebd8d4e8
IC
12593 bufferutils.writeUInt64LE(buffer, i, offset)
12594 offset += 8
12595 }
ab78acc6
IC
12596
12597 function writeVarInt (i) {
ebd8d4e8
IC
12598 var n = bufferutils.writeVarInt(buffer, i, offset)
12599 offset += n
12600 }
12601
12602 writeUInt32(this.version)
12603 writeVarInt(this.ins.length)
12604
ab78acc6
IC
12605 this.ins.forEach(function (txIn) {
12606 writeSlice(txIn.hash)
12607 writeUInt32(txIn.index)
12608 writeVarInt(txIn.script.buffer.length)
12609 writeSlice(txIn.script.buffer)
12610 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12611 })
12612
12613 writeVarInt(this.outs.length)
ab78acc6
IC
12614 this.outs.forEach(function (txOut) {
12615 writeUInt64(txOut.value)
12616 writeVarInt(txOut.script.buffer.length)
12617 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12618 })
12619
12620 writeUInt32(this.locktime)
12621
12622 return buffer
12623}
12624
ab78acc6 12625Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12626 return this.toBuffer().toString('hex')
12627}
12628
ab78acc6
IC
12629Transaction.prototype.setInputScript = function (index, script) {
12630 typeForce('Number', index)
12631 typeForce('Script', script)
12632
12633 this.ins[index].script = script
12634}
12635
12636// FIXME: remove in 2.x.y
12637Transaction.prototype.sign = function (index, privKey, hashType) {
12638 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12639
12640 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12641 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12642
12643 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12644 this.setInputScript(index, scriptSig)
12645}
12646
12647// FIXME: remove in 2.x.y
12648Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12649 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12650
12651 hashType = hashType || Transaction.SIGHASH_ALL
12652
12653 var hash = this.hashForSignature(index, prevOutScript, hashType)
12654 var signature = privKey.sign(hash)
12655
12656 return signature.toScriptSignature(hashType)
12657}
12658
12659// FIXME: remove in 2.x.y
12660Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12661 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12662
12663 var parsed = ECSignature.parseScriptSignature(buffer)
12664 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12665
12666 return pubKey.verify(hash, parsed.signature)
12667}
12668
12669module.exports = Transaction
12670
12671}).call(this,require("buffer").Buffer)
12672},{"./address":54,"./bufferutils":57,"./crypto":58,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"assert":5,"buffer":7,"typeforce":53}],71:[function(require,module,exports){
12673(function (Buffer){
12674var assert = require('assert')
12675var ops = require('./opcodes')
12676var scripts = require('./scripts')
12677
12678var ECPubKey = require('./ecpubkey')
12679var ECSignature = require('./ecsignature')
12680var Script = require('./script')
12681var Transaction = require('./transaction')
12682
12683function extractInput (txIn) {
12684 var redeemScript
12685 var scriptSig = txIn.script
12686 var prevOutScript
12687 var prevOutType = scripts.classifyInput(scriptSig, true)
12688 var scriptType
12689
12690 // Re-classify if scriptHash
12691 if (prevOutType === 'scripthash') {
12692 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12693 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12694
12695 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12696 scriptType = scripts.classifyInput(scriptSig, true)
12697 } else {
12698 scriptType = prevOutType
12699 }
12700
12701 // Extract hashType, pubKeys and signatures
12702 var hashType, parsed, pubKeys, signatures
12703
12704 switch (scriptType) {
12705 case 'pubkeyhash': {
12706 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12707 hashType = parsed.hashType
12708 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12709 signatures = [parsed.signature]
12710 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12711
12712 break
12713 }
12714
12715 case 'pubkey': {
12716 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12717 hashType = parsed.hashType
12718 signatures = [parsed.signature]
12719
12720 if (redeemScript) {
12721 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12722 }
12723
12724 break
12725 }
12726
12727 case 'multisig': {
12728 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12729 if (chunk === ops.OP_0) return chunk
12730
12731 var parsed = ECSignature.parseScriptSignature(chunk)
12732 hashType = parsed.hashType
12733
12734 return parsed.signature
12735 })
12736
12737 if (redeemScript) {
12738 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12739 }
12740
12741 break
12742 }
12743 }
12744
12745 return {
12746 hashType: hashType,
12747 prevOutScript: prevOutScript,
12748 prevOutType: prevOutType,
12749 pubKeys: pubKeys,
12750 redeemScript: redeemScript,
12751 scriptType: scriptType,
12752 signatures: signatures
12753 }
12754}
12755
12756function TransactionBuilder () {
12757 this.prevTxMap = {}
12758 this.prevOutScripts = {}
12759 this.prevOutTypes = {}
12760
12761 this.inputs = []
12762 this.tx = new Transaction()
12763}
12764
12765TransactionBuilder.fromTransaction = function (transaction) {
12766 var txb = new TransactionBuilder()
12767
12768 // Copy other transaction fields
12769 txb.tx.version = transaction.version
12770 txb.tx.locktime = transaction.locktime
12771
12772 // Extract/add inputs
12773 transaction.ins.forEach(function (txIn) {
12774 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12775 })
12776
12777 // Extract/add outputs
12778 transaction.outs.forEach(function (txOut) {
12779 txb.addOutput(txOut.script, txOut.value)
12780 })
12781
12782 // Extract/add signatures
12783 txb.inputs = transaction.ins.map(function (txIn) {
12784 // TODO: remove me after testcase added
12785 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12786
12787 // Ignore empty scripts
12788 if (txIn.script.buffer.length === 0) return {}
12789
12790 return extractInput(txIn)
12791 })
12792
12793 return txb
12794}
12795
12796TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12797 var prevOutHash
12798
12799 // txId
12800 if (typeof prevTx === 'string') {
12801 prevOutHash = new Buffer(prevTx, 'hex')
12802
12803 // TxId hex is big-endian, we want little-endian hash
12804 Array.prototype.reverse.call(prevOutHash)
12805
12806 // Transaction
12807 } else if (prevTx instanceof Transaction) {
12808 prevOutHash = prevTx.getHash()
12809 prevOutScript = prevTx.outs[index].script
12810
12811 // txHash
12812 } else {
12813 prevOutHash = prevTx
12814 }
12815
12816 var input = {}
12817 if (prevOutScript) {
12818 var prevOutType = scripts.classifyOutput(prevOutScript)
12819
12820 // if we can, extract pubKey information
12821 switch (prevOutType) {
12822 case 'multisig': {
12823 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12824 break
12825 }
12826
12827 case 'pubkey': {
12828 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12829 break
12830 }
12831 }
12832
12833 if (prevOutType !== 'scripthash') {
12834 input.scriptType = prevOutType
12835 }
12836
12837 input.prevOutScript = prevOutScript
12838 input.prevOutType = prevOutType
12839 }
12840
12841 assert(this.inputs.every(function (input2) {
12842 if (input2.hashType === undefined) return true
12843
12844 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12845 }), 'No, this would invalidate signatures')
12846
12847 var prevOut = prevOutHash.toString('hex') + ':' + index
12848 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12849
12850 var vin = this.tx.addInput(prevOutHash, index, sequence)
12851 this.inputs[vin] = input
12852 this.prevTxMap[prevOut] = vin
12853
12854 return vin
12855}
12856
12857TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12858 assert(this.inputs.every(function (input) {
12859 if (input.hashType === undefined) return true
ebd8d4e8 12860
ab78acc6
IC
12861 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12862 }), 'No, this would invalidate signatures')
ebd8d4e8 12863
ab78acc6
IC
12864 return this.tx.addOutput(scriptPubKey, value)
12865}
ebd8d4e8 12866
ab78acc6
IC
12867TransactionBuilder.prototype.build = function () {
12868 return this.__build(false)
12869}
12870TransactionBuilder.prototype.buildIncomplete = function () {
12871 return this.__build(true)
12872}
ebd8d4e8 12873
ab78acc6
IC
12874var canSignTypes = {
12875 'pubkeyhash': true,
12876 'multisig': true,
12877 'pubkey': true
12878}
ebd8d4e8 12879
ab78acc6
IC
12880TransactionBuilder.prototype.__build = function (allowIncomplete) {
12881 if (!allowIncomplete) {
12882 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
12883 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
12884 }
12885
ab78acc6 12886 var tx = this.tx.clone()
ebd8d4e8 12887
ab78acc6
IC
12888 // Create script signatures from signature meta-data
12889 this.inputs.forEach(function (input, index) {
12890 var scriptType = input.scriptType
12891 var scriptSig
ebd8d4e8 12892
ab78acc6
IC
12893 if (!allowIncomplete) {
12894 assert(!!scriptType, 'Transaction is not complete')
12895 assert(scriptType in canSignTypes, scriptType + ' not supported')
12896 assert(input.signatures, 'Transaction is missing signatures')
12897 }
ebd8d4e8 12898
ab78acc6
IC
12899 if (input.signatures) {
12900 switch (scriptType) {
12901 case 'pubkeyhash': {
12902 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
12903 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
12904 break
12905 }
ebd8d4e8 12906
ab78acc6
IC
12907 case 'multisig': {
12908 // Array.prototype.map is sparse-compatible
12909 var msSignatures = input.signatures.map(function (signature) {
12910 return signature && signature.toScriptSignature(input.hashType)
12911 })
ebd8d4e8 12912
ab78acc6
IC
12913 // fill in blanks with OP_0
12914 if (allowIncomplete) {
12915 for (var i = 0; i < msSignatures.length; ++i) {
12916 if (msSignatures[i]) continue
ebd8d4e8 12917
ab78acc6
IC
12918 msSignatures[i] = ops.OP_0
12919 }
12920 } else {
12921 // Array.prototype.filter returns non-sparse array
12922 msSignatures = msSignatures.filter(function (x) { return x })
12923 }
ebd8d4e8 12924
ab78acc6
IC
12925 var redeemScript = allowIncomplete ? undefined : input.redeemScript
12926 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
12927 break
12928 }
ebd8d4e8 12929
ab78acc6
IC
12930 case 'pubkey': {
12931 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
12932 scriptSig = scripts.pubKeyInput(pkSignature)
12933 break
12934 }
12935 }
ebd8d4e8 12936 }
ebd8d4e8 12937
ab78acc6
IC
12938 // did we build a scriptSig?
12939 if (scriptSig) {
12940 // wrap as scriptHash if necessary
12941 if (input.prevOutType === 'scripthash') {
12942 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
12943 }
12944
12945 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
12946 }
12947 })
12948
ab78acc6 12949 return tx
ebd8d4e8
IC
12950}
12951
ab78acc6
IC
12952TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
12953 assert(index in this.inputs, 'No input at index: ' + index)
12954 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 12955
ab78acc6
IC
12956 var input = this.inputs[index]
12957 var canSign = input.hashType &&
12958 input.prevOutScript &&
12959 input.prevOutType &&
12960 input.pubKeys &&
12961 input.scriptType &&
12962 input.signatures
ebd8d4e8 12963
ab78acc6
IC
12964 // are we almost ready to sign?
12965 if (canSign) {
12966 // if redeemScript was provided, enforce consistency
12967 if (redeemScript) {
12968 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
12969 }
ebd8d4e8 12970
ab78acc6 12971 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 12972
ab78acc6
IC
12973 // no? prepare
12974 } else {
12975 // must be pay-to-scriptHash?
12976 if (redeemScript) {
12977 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
12978 if (input.prevOutScript) {
12979 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
12980
12981 var scriptHash = input.prevOutScript.chunks[1]
12982 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
12983 }
ebd8d4e8 12984
ab78acc6
IC
12985 var scriptType = scripts.classifyOutput(redeemScript)
12986 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 12987
ab78acc6
IC
12988 var pubKeys = []
12989 switch (scriptType) {
12990 case 'multisig': {
12991 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12992 break
12993 }
ebd8d4e8 12994
ab78acc6
IC
12995 case 'pubkeyhash': {
12996 var pkh1 = redeemScript.chunks[2]
12997 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 12998
ab78acc6
IC
12999 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13000 pubKeys = [privKey.pub]
13001 break
13002 }
ebd8d4e8 13003
ab78acc6
IC
13004 case 'pubkey': {
13005 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13006 break
13007 }
13008 }
ebd8d4e8 13009
ab78acc6
IC
13010 if (!input.prevOutScript) {
13011 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13012 input.prevOutType = 'scripthash'
13013 }
ebd8d4e8 13014
ab78acc6
IC
13015 input.pubKeys = pubKeys
13016 input.redeemScript = redeemScript
13017 input.scriptType = scriptType
ebd8d4e8 13018
ab78acc6
IC
13019 // cannot be pay-to-scriptHash
13020 } else {
13021 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13022
ab78acc6
IC
13023 // can we otherwise sign this?
13024 if (input.scriptType) {
13025 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13026
ab78acc6
IC
13027 // we know nothin' Jon Snow, assume pubKeyHash
13028 } else {
13029 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13030 input.prevOutType = 'pubkeyhash'
13031 input.pubKeys = [privKey.pub]
13032 input.scriptType = input.prevOutType
13033 }
13034 }
ebd8d4e8 13035
ab78acc6
IC
13036 input.hashType = hashType
13037 input.signatures = input.signatures || []
13038 }
13039
13040 var signatureScript = input.redeemScript || input.prevOutScript
13041 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13042
13043 // enforce signature order matches public keys
13044 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13045 // maintain a local copy of unmatched signatures
13046 var unmatched = input.signatures.slice()
13047
13048 input.signatures = input.pubKeys.map(function (pubKey) {
13049 var match
13050
13051 // check for any matching signatures
13052 unmatched.some(function (signature, i) {
13053 if (!pubKey.verify(signatureHash, signature)) return false
13054 match = signature
13055
13056 // remove matched signature from unmatched
13057 unmatched.splice(i, 1)
13058
13059 return true
13060 })
13061
13062 return match || undefined
13063 })
13064 }
13065
13066 // enforce in order signing of public keys
13067 assert(input.pubKeys.some(function (pubKey, i) {
13068 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13069
13070 assert(!input.signatures[i], 'Signature already exists')
13071 var signature = privKey.sign(signatureHash)
13072 input.signatures[i] = signature
13073
13074 return true
13075 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13076}
13077
ab78acc6 13078module.exports = TransactionBuilder
ebd8d4e8 13079
ab78acc6
IC
13080}).call(this,require("buffer").Buffer)
13081},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13082(function (Buffer){
ab78acc6
IC
13083var assert = require('assert')
13084var bufferutils = require('./bufferutils')
13085var typeForce = require('typeforce')
13086var networks = require('./networks')
13087var randomBytes = require('randombytes')
ebd8d4e8 13088
ab78acc6
IC
13089var Address = require('./address')
13090var HDNode = require('./hdnode')
13091var TransactionBuilder = require('./transaction_builder')
13092var Script = require('./script')
ebd8d4e8 13093
ab78acc6
IC
13094function Wallet (seed, network) {
13095 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13096
13097 seed = seed || randomBytes(32)
ebd8d4e8
IC
13098 network = network || networks.bitcoin
13099
13100 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13101 var masterKey = HDNode.fromSeedBuffer(seed, network)
13102
13103 // HD first-level child derivation method should be hardened
13104 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13105 var accountZero = masterKey.deriveHardened(0)
13106 var externalAccount = accountZero.derive(0)
13107 var internalAccount = accountZero.derive(1)
ebd8d4e8 13108
ebd8d4e8
IC
13109 this.addresses = []
13110 this.changeAddresses = []
ab78acc6
IC
13111 this.network = network
13112 this.unspents = []
ebd8d4e8 13113
ab78acc6
IC
13114 // FIXME: remove in 2.0.0
13115 this.unspentMap = {}
ebd8d4e8 13116
ab78acc6
IC
13117 // FIXME: remove in 2.0.0
13118 var me = this
13119 this.newMasterKey = function (seed) {
13120 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13121
13122 seed = seed || randomBytes(32)
13123 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13124
ab78acc6 13125 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13126 externalAccount = accountZero.derive(0)
13127 internalAccount = accountZero.derive(1)
13128
13129 me.addresses = []
13130 me.changeAddresses = []
13131
ab78acc6
IC
13132 me.unspents = []
13133 me.unspentMap = {}
ebd8d4e8
IC
13134 }
13135
ab78acc6
IC
13136 this.getMasterKey = function () {
13137 return masterKey
ebd8d4e8 13138 }
ab78acc6
IC
13139 this.getAccountZero = function () {
13140 return accountZero
ebd8d4e8 13141 }
ab78acc6
IC
13142 this.getExternalAccount = function () {
13143 return externalAccount
13144 }
13145 this.getInternalAccount = function () {
13146 return internalAccount
ebd8d4e8 13147 }
ab78acc6 13148}
ebd8d4e8 13149
ab78acc6
IC
13150Wallet.prototype.createTransaction = function (to, value, options) {
13151 // FIXME: remove in 2.0.0
13152 if (typeof options !== 'object') {
13153 if (options !== undefined) {
13154 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13155
ab78acc6
IC
13156 options = {
13157 fixedFee: arguments[2],
13158 changeAddress: arguments[3]
13159 }
ebd8d4e8 13160 }
ebd8d4e8
IC
13161 }
13162
ab78acc6 13163 options = options || {}
ebd8d4e8 13164
ab78acc6 13165 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13166
ab78acc6
IC
13167 var changeAddress = options.changeAddress
13168 var fixedFee = options.fixedFee
13169 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13170
ab78acc6
IC
13171 // filter by minConf, then pending and sort by descending value
13172 var unspents = this.unspents.filter(function (unspent) {
13173 return unspent.confirmations >= minConf
13174 }).filter(function (unspent) {
13175 return !unspent.pending
13176 }).sort(function (o1, o2) {
13177 return o2.value - o1.value
13178 })
ebd8d4e8 13179
ab78acc6
IC
13180 var accum = 0
13181 var addresses = []
13182 var subTotal = value
ebd8d4e8 13183
ab78acc6
IC
13184 var txb = new TransactionBuilder()
13185 txb.addOutput(to, value)
ebd8d4e8 13186
ab78acc6
IC
13187 for (var i = 0; i < unspents.length; ++i) {
13188 var unspent = unspents[i]
13189 addresses.push(unspent.address)
ebd8d4e8 13190
ab78acc6
IC
13191 txb.addInput(unspent.txHash, unspent.index)
13192
13193 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13194
ab78acc6
IC
13195 accum += unspent.value
13196 subTotal = value + fee
13197
13198 if (accum >= subTotal) {
13199 var change = accum - subTotal
13200
13201 if (change > this.network.dustThreshold) {
13202 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13203 }
ebd8d4e8 13204
ab78acc6 13205 break
ebd8d4e8
IC
13206 }
13207 }
13208
ab78acc6 13209 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13210
ab78acc6
IC
13211 return this.signWith(txb, addresses).build()
13212}
ebd8d4e8 13213
ab78acc6
IC
13214// FIXME: remove in 2.0.0
13215Wallet.prototype.processPendingTx = function (tx) {
13216 this.__processTx(tx, true)
13217}
ebd8d4e8 13218
ab78acc6
IC
13219// FIXME: remove in 2.0.0
13220Wallet.prototype.processConfirmedTx = function (tx) {
13221 this.__processTx(tx, false)
13222}
ebd8d4e8 13223
ab78acc6
IC
13224// FIXME: remove in 2.0.0
13225Wallet.prototype.__processTx = function (tx, isPending) {
13226 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13227
ab78acc6
IC
13228 var txId = tx.getId()
13229 var txHash = tx.getHash()
ebd8d4e8 13230
ab78acc6
IC
13231 tx.outs.forEach(function (txOut, i) {
13232 var address
ebd8d4e8 13233
ab78acc6
IC
13234 try {
13235 address = Address.fromOutputScript(txOut.script, this.network).toString()
13236 } catch (e) {
13237 if (!(e.message.match(/has no matching Address/)))
13238 throw e
13239 }
13240
13241 var myAddresses = this.addresses.concat(this.changeAddresses)
13242 if (myAddresses.indexOf(address) > -1) {
13243 var lookup = txId + ':' + i
13244 if (lookup in this.unspentMap) return
13245
13246 // its unique, add it
13247 var unspent = {
13248 address: address,
13249 confirmations: 0, // no way to determine this without more information
13250 index: i,
13251 txHash: txHash,
13252 txId: txId,
13253 value: txOut.value,
13254 pending: isPending
ebd8d4e8 13255 }
ebd8d4e8 13256
ab78acc6
IC
13257 this.unspentMap[lookup] = unspent
13258 this.unspents.push(unspent)
13259 }
13260 }, this)
ebd8d4e8 13261
ab78acc6
IC
13262 tx.ins.forEach(function (txIn) {
13263 // copy and convert to big-endian hex
13264 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13265
ab78acc6
IC
13266 var lookup = txInId + ':' + txIn.index
13267 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13268
ab78acc6 13269 var unspent = this.unspentMap[lookup]
ebd8d4e8 13270
ab78acc6
IC
13271 if (isPending) {
13272 unspent.pending = true
13273 unspent.spent = true
13274 } else {
13275 delete this.unspentMap[lookup]
ebd8d4e8 13276
ab78acc6
IC
13277 this.unspents = this.unspents.filter(function (unspent2) {
13278 return unspent !== unspent2
13279 })
13280 }
13281 }, this)
13282}
ebd8d4e8 13283
ab78acc6
IC
13284Wallet.prototype.generateAddress = function () {
13285 var k = this.addresses.length
13286 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13287
ab78acc6 13288 this.addresses.push(address.toString())
ebd8d4e8 13289
ab78acc6
IC
13290 return this.getReceiveAddress()
13291}
ebd8d4e8 13292
ab78acc6
IC
13293Wallet.prototype.generateChangeAddress = function () {
13294 var k = this.changeAddresses.length
13295 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13296
ab78acc6 13297 this.changeAddresses.push(address.toString())
ebd8d4e8 13298
ab78acc6
IC
13299 return this.getChangeAddress()
13300}
ebd8d4e8 13301
ab78acc6
IC
13302Wallet.prototype.getAddress = function () {
13303 if (this.addresses.length === 0) {
13304 this.generateAddress()
ebd8d4e8
IC
13305 }
13306
ab78acc6
IC
13307 return this.addresses[this.addresses.length - 1]
13308}
ebd8d4e8 13309
ab78acc6
IC
13310Wallet.prototype.getBalance = function (minConf) {
13311 minConf = minConf || 0
ebd8d4e8 13312
ab78acc6
IC
13313 return this.unspents.filter(function (unspent) {
13314 return unspent.confirmations >= minConf
13315
13316 // FIXME: remove spent filter in 2.0.0
13317 }).filter(function (unspent) {
13318 return !unspent.spent
13319 }).reduce(function (accum, unspent) {
13320 return accum + unspent.value
13321 }, 0)
13322}
ebd8d4e8 13323
ab78acc6
IC
13324Wallet.prototype.getChangeAddress = function () {
13325 if (this.changeAddresses.length === 0) {
13326 this.generateChangeAddress()
ebd8d4e8
IC
13327 }
13328
ab78acc6
IC
13329 return this.changeAddresses[this.changeAddresses.length - 1]
13330}
13331
13332Wallet.prototype.getInternalPrivateKey = function (index) {
13333 return this.getInternalAccount().derive(index).privKey
13334}
13335
13336Wallet.prototype.getPrivateKey = function (index) {
13337 return this.getExternalAccount().derive(index).privKey
13338}
13339
13340Wallet.prototype.getPrivateKeyForAddress = function (address) {
13341 var index
ebd8d4e8 13342
ab78acc6
IC
13343 if ((index = this.addresses.indexOf(address)) > -1) {
13344 return this.getPrivateKey(index)
ebd8d4e8
IC
13345 }
13346
ab78acc6
IC
13347 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13348 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13349 }
13350
ab78acc6
IC
13351 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13352}
ebd8d4e8 13353
ab78acc6
IC
13354Wallet.prototype.getUnspentOutputs = function (minConf) {
13355 minConf = minConf || 0
ebd8d4e8 13356
ab78acc6
IC
13357 return this.unspents.filter(function (unspent) {
13358 return unspent.confirmations >= minConf
ebd8d4e8 13359
ab78acc6
IC
13360 // FIXME: remove spent filter in 2.0.0
13361 }).filter(function (unspent) {
13362 return !unspent.spent
13363 }).map(function (unspent) {
13364 return {
13365 address: unspent.address,
13366 confirmations: unspent.confirmations,
13367 index: unspent.index,
13368 txId: unspent.txId,
13369 value: unspent.value,
13370
13371 // FIXME: remove in 2.0.0
13372 hash: unspent.txId,
13373 pending: unspent.pending
13374 }
13375 })
13376}
ebd8d4e8 13377
ab78acc6
IC
13378Wallet.prototype.setUnspentOutputs = function (unspents) {
13379 this.unspentMap = {}
13380 this.unspents = unspents.map(function (unspent) {
13381 // FIXME: remove unspent.hash in 2.0.0
13382 var txId = unspent.txId || unspent.hash
13383 var index = unspent.index
ebd8d4e8 13384
ab78acc6
IC
13385 // FIXME: remove in 2.0.0
13386 if (unspent.hash !== undefined) {
13387 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13388 }
ebd8d4e8 13389
ab78acc6
IC
13390 // FIXME: remove in 2.0.0
13391 if (index === undefined) {
13392 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13393 index = unspent.outputIndex
13394 }
ebd8d4e8 13395
ab78acc6
IC
13396 typeForce('String', txId)
13397 typeForce('Number', index)
13398 typeForce('Number', unspent.value)
13399
13400 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13401 assert.doesNotThrow(function () {
13402 Address.fromBase58Check(unspent.address)
13403 }, 'Expected Base58 Address, got ' + unspent.address)
13404 assert(isFinite(index), 'Expected finite index, got ' + index)
13405
13406 // FIXME: remove branch in 2.0.0
13407 if (unspent.confirmations !== undefined) {
13408 typeForce('Number', unspent.confirmations)
ebd8d4e8 13409 }
ebd8d4e8 13410
ab78acc6 13411 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13412
ab78acc6
IC
13413 unspent = {
13414 address: unspent.address,
13415 confirmations: unspent.confirmations || 0,
13416 index: index,
13417 txHash: txHash,
13418 txId: txId,
13419 value: unspent.value,
ebd8d4e8 13420
ab78acc6
IC
13421 // FIXME: remove in 2.0.0
13422 pending: unspent.pending || false
13423 }
13424
13425 // FIXME: remove in 2.0.0
13426 this.unspentMap[txId + ':' + index] = unspent
13427
13428 return unspent
13429 }, this)
13430}
13431
13432Wallet.prototype.signWith = function (tx, addresses) {
13433 addresses.forEach(function (address, i) {
13434 var privKey = this.getPrivateKeyForAddress(address)
13435
13436 tx.sign(i, privKey)
13437 }, this)
13438
13439 return tx
13440}
13441
13442function estimatePaddedFee (tx, network) {
13443 var tmpTx = tx.clone()
13444 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13445
13446 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13447}
13448
ab78acc6
IC
13449// FIXME: 1.0.0 shims, remove in 2.0.0
13450Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13451Wallet.prototype.createTx = Wallet.prototype.createTransaction
13452
ebd8d4e8
IC
13453module.exports = Wallet
13454
ab78acc6
IC
13455}).call(this,require("buffer").Buffer)
13456},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13457});</script>
d5dc92fd
IC
13458 <script>bitcoin.networks.shadow = {
13459 magicPrefix: '\x19ShadowCash Signed Message:\n',
13460 bip32: {
13461 public: 0xEE80286A,
13462 private: 0xEE8031E8
13463 },
13464 pubKeyHash: 0x3f,
13465 scriptHash: 0x7d,
13466 wif: 0xbf,
13467 dustThreshold: 0,
13468 feePerKb: 1000,
13469 estimateFee: function() { return "unused in this app" },
13470};
13471
13472bitcoin.networks.shadowtn = {
13473 magicPrefix: '\x19ShadowCash Signed Message:\n',
13474 bip32: {
13475 public: 0x76C0FDFB,
13476 private: 0x76C1077A
13477 },
13478 pubKeyHash: 0x7f,
13479 scriptHash: 0xc4,
13480 wif: 0xff,
13481 dustThreshold: 0,
13482 feePerKb: 1000,
13483 estimateFee: function() { return "unused in this app" },
13484};
5c434a8a
CM
13485
13486bitcoin.networks.clam = {
13487 bip32: {
13488 public: 0xa8c26d64,
13489 private: 0xa8c17826
13490 },
13491 pubKeyHash: 0x89,
13492 wif: 0x85,
13493};
5493efc3 13494
13495bitcoin.networks.dash = {
13496 bip32: {
13497 public: 0x0488b21e,
13498 private: 0x0488ade4
13499 },
68151a47 13500 pubKeyHash: 0x4c,
5493efc3 13501 scriptHash: 0x10,
13502 wif: 0xcc,
13503};
13504
07ac4350 13505bitcoin.networks.namecoin = {
13506 bip32: {
13507 public: 0x0488b21e,
13508 private: 0x0488ade4
13509 },
13510 pubKeyHash: 0x34,
13511 //scriptHash: 0x10,
13512 wif: 0x80,
13513};
13514
13515bitcoin.networks.peercoin = {
13516 bip32: {
13517 public: 0x0488b21e,
13518 private: 0x0488ade4
13519 },
13520 pubKeyHash: 0x37,
13521 //scriptHash: 0x10,
13522 wif: 0xb7,
13523};
13524
d5dc92fd 13525</script>
ab78acc6 13526 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13527
13528//// base.js
13529
13530/** @fileOverview Javascript cryptography implementation.
13531 *
13532 * Crush to remove comments, shorten variable names and
13533 * generally reduce transmission size.
13534 *
13535 * @author Emily Stark
13536 * @author Mike Hamburg
13537 * @author Dan Boneh
13538 */
13539
13540"use strict";
13541/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13542/*global document, window, escape, unescape, module, require, Uint32Array */
13543
13544/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13545var sjcl = {
13546 /** @namespace Symmetric ciphers. */
13547 cipher: {},
13548
13549 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13550 hash: {},
13551
13552 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13553 keyexchange: {},
13554
13555 /** @namespace Block cipher modes of operation. */
13556 mode: {},
13557
13558 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13559 misc: {},
13560
13561 /**
13562 * @namespace Bit array encoders and decoders.
13563 *
13564 * @description
13565 * The members of this namespace are functions which translate between
13566 * SJCL's bitArrays and other objects (usually strings). Because it
13567 * isn't always clear which direction is encoding and which is decoding,
13568 * the method names are "fromBits" and "toBits".
13569 */
13570 codec: {},
13571
13572 /** @namespace Exceptions. */
13573 exception: {
13574 /** @constructor Ciphertext is corrupt. */
13575 corrupt: function(message) {
13576 this.toString = function() { return "CORRUPT: "+this.message; };
13577 this.message = message;
13578 },
13579
13580 /** @constructor Invalid parameter. */
13581 invalid: function(message) {
13582 this.toString = function() { return "INVALID: "+this.message; };
13583 this.message = message;
13584 },
13585
13586 /** @constructor Bug or missing feature in SJCL. @constructor */
13587 bug: function(message) {
13588 this.toString = function() { return "BUG: "+this.message; };
13589 this.message = message;
13590 },
13591
13592 /** @constructor Something isn't ready. */
13593 notReady: function(message) {
13594 this.toString = function() { return "NOT READY: "+this.message; };
13595 this.message = message;
ebd8d4e8 13596 }
80c4dd2a
IC
13597 }
13598};
13599
13600if(typeof module !== 'undefined' && module.exports){
13601 module.exports = sjcl;
13602}
13603if (typeof define === "function") {
13604 define([], function () {
13605 return sjcl;
13606 });
13607}
13608
13609
13610//// bitArray.js
13611
13612/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13613 *
13614 * @author Emily Stark
13615 * @author Mike Hamburg
13616 * @author Dan Boneh
13617 */
13618
13619/** @namespace Arrays of bits, encoded as arrays of Numbers.
13620 *
13621 * @description
13622 * <p>
13623 * These objects are the currency accepted by SJCL's crypto functions.
13624 * </p>
13625 *
13626 * <p>
13627 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13628 * but many of them can take arguments that are not a multiple of 4 bytes.
13629 * This library encodes arrays of bits (whose size need not be a multiple of 8
13630 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13631 * array of words, 32 bits at a time. Since the words are double-precision
13632 * floating point numbers, they fit some extra data. We use this (in a private,
13633 * possibly-changing manner) to encode the number of bits actually present
13634 * in the last word of the array.
13635 * </p>
13636 *
13637 * <p>
13638 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13639 * to ciphers like AES which want arrays of words.
13640 * </p>
13641 */
13642sjcl.bitArray = {
13643 /**
13644 * Array slices in units of bits.
13645 * @param {bitArray} a The array to slice.
13646 * @param {Number} bstart The offset to the start of the slice, in bits.
13647 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13648 * slice until the end of the array.
13649 * @return {bitArray} The requested slice.
13650 */
13651 bitSlice: function (a, bstart, bend) {
13652 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13653 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13654 },
13655
13656 /**
13657 * Extract a number packed into a bit array.
13658 * @param {bitArray} a The array to slice.
13659 * @param {Number} bstart The offset to the start of the slice, in bits.
13660 * @param {Number} length The length of the number to extract.
13661 * @return {Number} The requested slice.
13662 */
13663 extract: function(a, bstart, blength) {
13664 // FIXME: this Math.floor is not necessary at all, but for some reason
13665 // seems to suppress a bug in the Chromium JIT.
13666 var x, sh = Math.floor((-bstart-blength) & 31);
13667 if ((bstart + blength - 1 ^ bstart) & -32) {
13668 // it crosses a boundary
13669 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13670 } else {
13671 // within a single word
13672 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13673 }
80c4dd2a
IC
13674 return x & ((1<<blength) - 1);
13675 },
13676
13677 /**
13678 * Concatenate two bit arrays.
13679 * @param {bitArray} a1 The first array.
13680 * @param {bitArray} a2 The second array.
13681 * @return {bitArray} The concatenation of a1 and a2.
13682 */
13683 concat: function (a1, a2) {
13684 if (a1.length === 0 || a2.length === 0) {
13685 return a1.concat(a2);
13686 }
13687
13688 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13689 if (shift === 32) {
13690 return a1.concat(a2);
13691 } else {
13692 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13693 }
80c4dd2a
IC
13694 },
13695
13696 /**
13697 * Find the length of an array of bits.
13698 * @param {bitArray} a The array.
13699 * @return {Number} The length of a, in bits.
13700 */
13701 bitLength: function (a) {
13702 var l = a.length, x;
13703 if (l === 0) { return 0; }
13704 x = a[l - 1];
13705 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13706 },
13707
13708 /**
13709 * Truncate an array.
13710 * @param {bitArray} a The array.
13711 * @param {Number} len The length to truncate to, in bits.
13712 * @return {bitArray} A new array, truncated to len bits.
13713 */
13714 clamp: function (a, len) {
13715 if (a.length * 32 < len) { return a; }
13716 a = a.slice(0, Math.ceil(len / 32));
13717 var l = a.length;
13718 len = len & 31;
13719 if (l > 0 && len) {
13720 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13721 }
13722 return a;
13723 },
13724
13725 /**
13726 * Make a partial word for a bit array.
13727 * @param {Number} len The number of bits in the word.
13728 * @param {Number} x The bits.
13729 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13730 * @return {Number} The partial word.
13731 */
13732 partial: function (len, x, _end) {
13733 if (len === 32) { return x; }
13734 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13735 },
13736
13737 /**
13738 * Get the number of bits used by a partial word.
13739 * @param {Number} x The partial word.
13740 * @return {Number} The number of bits used by the partial word.
13741 */
13742 getPartial: function (x) {
13743 return Math.round(x/0x10000000000) || 32;
13744 },
13745
13746 /**
13747 * Compare two arrays for equality in a predictable amount of time.
13748 * @param {bitArray} a The first array.
13749 * @param {bitArray} b The second array.
13750 * @return {boolean} true if a == b; false otherwise.
13751 */
13752 equal: function (a, b) {
13753 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13754 return false;
ebd8d4e8 13755 }
80c4dd2a
IC
13756 var x = 0, i;
13757 for (i=0; i<a.length; i++) {
13758 x |= a[i]^b[i];
ebd8d4e8 13759 }
80c4dd2a
IC
13760 return (x === 0);
13761 },
13762
13763 /** Shift an array right.
13764 * @param {bitArray} a The array to shift.
13765 * @param {Number} shift The number of bits to shift.
13766 * @param {Number} [carry=0] A byte to carry in
13767 * @param {bitArray} [out=[]] An array to prepend to the output.
13768 * @private
13769 */
13770 _shiftRight: function (a, shift, carry, out) {
13771 var i, last2=0, shift2;
13772 if (out === undefined) { out = []; }
13773
13774 for (; shift >= 32; shift -= 32) {
13775 out.push(carry);
13776 carry = 0;
13777 }
13778 if (shift === 0) {
13779 return out.concat(a);
13780 }
13781
13782 for (i=0; i<a.length; i++) {
13783 out.push(carry | a[i]>>>shift);
13784 carry = a[i] << (32-shift);
13785 }
13786 last2 = a.length ? a[a.length-1] : 0;
13787 shift2 = sjcl.bitArray.getPartial(last2);
13788 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13789 return out;
13790 },
13791
13792 /** xor a block of 4 words together.
13793 * @private
13794 */
13795 _xor4: function(x,y) {
13796 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13797 },
13798
13799 /** byteswap a word array inplace.
13800 * (does not handle partial words)
13801 * @param {sjcl.bitArray} a word array
13802 * @return {sjcl.bitArray} byteswapped array
13803 */
13804 byteswapM: function(a) {
13805 var i, v, m = 0xff00;
13806 for (i = 0; i < a.length; ++i) {
13807 v = a[i];
13808 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13809 }
80c4dd2a
IC
13810 return a;
13811 }
13812};
13813
13814
13815//// codecString.js
13816
13817/** @fileOverview Bit array codec implementations.
13818 *
13819 * @author Emily Stark
13820 * @author Mike Hamburg
13821 * @author Dan Boneh
13822 */
13823
13824/** @namespace UTF-8 strings */
13825sjcl.codec.utf8String = {
13826 /** Convert from a bitArray to a UTF-8 string. */
13827 fromBits: function (arr) {
13828 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13829 for (i=0; i<bl/8; i++) {
13830 if ((i&3) === 0) {
13831 tmp = arr[i/4];
13832 }
13833 out += String.fromCharCode(tmp >>> 24);
13834 tmp <<= 8;
ebd8d4e8 13835 }
80c4dd2a
IC
13836 return decodeURIComponent(escape(out));
13837 },
13838
13839 /** Convert from a UTF-8 string to a bitArray. */
13840 toBits: function (str) {
13841 str = unescape(encodeURIComponent(str));
13842 var out = [], i, tmp=0;
13843 for (i=0; i<str.length; i++) {
13844 tmp = tmp << 8 | str.charCodeAt(i);
13845 if ((i&3) === 3) {
13846 out.push(tmp);
13847 tmp = 0;
13848 }
ebd8d4e8 13849 }
80c4dd2a
IC
13850 if (i&3) {
13851 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13852 }
80c4dd2a
IC
13853 return out;
13854 }
13855};
13856
13857
13858//// codecHex.js
13859
13860/** @fileOverview Bit array codec implementations.
13861 *
13862 * @author Emily Stark
13863 * @author Mike Hamburg
13864 * @author Dan Boneh
13865 */
13866
13867/** @namespace Hexadecimal */
13868sjcl.codec.hex = {
13869 /** Convert from a bitArray to a hex string. */
13870 fromBits: function (arr) {
13871 var out = "", i;
13872 for (i=0; i<arr.length; i++) {
13873 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 13874 }
80c4dd2a
IC
13875 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
13876 },
13877 /** Convert from a hex string to a bitArray. */
13878 toBits: function (str) {
13879 var i, out=[], len;
13880 str = str.replace(/\s|0x/g, "");
13881 len = str.length;
13882 str = str + "00000000";
13883 for (i=0; i<str.length; i+=8) {
13884 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 13885 }
80c4dd2a
IC
13886 return sjcl.bitArray.clamp(out, len*4);
13887 }
13888};
13889
13890
13891//// sha512.js
13892
13893/** @fileOverview Javascript SHA-512 implementation.
13894 *
13895 * This implementation was written for CryptoJS by Jeff Mott and adapted for
13896 * SJCL by Stefan Thomas.
13897 *
13898 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
13899 * Released with New BSD License
13900 *
13901 * @author Emily Stark
13902 * @author Mike Hamburg
13903 * @author Dan Boneh
13904 * @author Jeff Mott
13905 * @author Stefan Thomas
13906 */
13907
13908/**
13909 * Context for a SHA-512 operation in progress.
13910 * @constructor
13911 * @class Secure Hash Algorithm, 512 bits.
13912 */
13913sjcl.hash.sha512 = function (hash) {
13914 if (!this._key[0]) { this._precompute(); }
13915 if (hash) {
13916 this._h = hash._h.slice(0);
13917 this._buffer = hash._buffer.slice(0);
13918 this._length = hash._length;
13919 } else {
13920 this.reset();
13921 }
13922};
13923
13924/**
13925 * Hash a string or an array of words.
13926 * @static
13927 * @param {bitArray|String} data the data to hash.
13928 * @return {bitArray} The hash value, an array of 16 big-endian words.
13929 */
13930sjcl.hash.sha512.hash = function (data) {
13931 return (new sjcl.hash.sha512()).update(data).finalize();
13932};
13933
13934sjcl.hash.sha512.prototype = {
13935 /**
13936 * The hash's block size, in bits.
13937 * @constant
13938 */
13939 blockSize: 1024,
13940
13941 /**
13942 * Reset the hash state.
13943 * @return this
13944 */
13945 reset:function () {
13946 this._h = this._init.slice(0);
13947 this._buffer = [];
13948 this._length = 0;
13949 return this;
13950 },
13951
13952 /**
13953 * Input several words to the hash.
13954 * @param {bitArray|String} data the data to hash.
13955 * @return this
13956 */
13957 update: function (data) {
13958 if (typeof data === "string") {
13959 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 13960 }
80c4dd2a
IC
13961 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
13962 ol = this._length,
13963 nl = this._length = ol + sjcl.bitArray.bitLength(data);
13964 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
13965 this._block(b.splice(0,32));
ebd8d4e8 13966 }
80c4dd2a
IC
13967 return this;
13968 },
13969
13970 /**
13971 * Complete hashing and output the hash value.
13972 * @return {bitArray} The hash value, an array of 16 big-endian words.
13973 */
13974 finalize:function () {
13975 var i, b = this._buffer, h = this._h;
13976
13977 // Round out and push the buffer
13978 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
13979
13980 // Round out the buffer to a multiple of 32 words, less the 4 length words.
13981 for (i = b.length + 4; i & 31; i++) {
13982 b.push(0);
ebd8d4e8 13983 }
80c4dd2a
IC
13984
13985 // append the length
13986 b.push(0);
13987 b.push(0);
13988 b.push(Math.floor(this._length / 0x100000000));
13989 b.push(this._length | 0);
13990
13991 while (b.length) {
13992 this._block(b.splice(0,32));
ebd8d4e8 13993 }
80c4dd2a
IC
13994
13995 this.reset();
13996 return h;
13997 },
13998
13999 /**
14000 * The SHA-512 initialization vector, to be precomputed.
14001 * @private
14002 */
14003 _init:[],
14004
14005 /**
14006 * Least significant 24 bits of SHA512 initialization values.
14007 *
14008 * Javascript only has 53 bits of precision, so we compute the 40 most
14009 * significant bits and add the remaining 24 bits as constants.
14010 *
14011 * @private
14012 */
14013 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14014
14015 /*
14016 _init:
14017 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14018 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14019 */
14020
14021 /**
14022 * The SHA-512 hash key, to be precomputed.
14023 * @private
14024 */
14025 _key:[],
14026
14027 /**
14028 * Least significant 24 bits of SHA512 key values.
14029 * @private
14030 */
14031 _keyr:
14032 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14033 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14034 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14035 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14036 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14037 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14038 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14039 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14040 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14041 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14042
14043 /*
14044 _key:
14045 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14046 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14047 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14048 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14049 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14050 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14051 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14052 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14053 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14054 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14055 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14056 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14057 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14058 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14059 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14060 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14061 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14062 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14063 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14064 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14065 */
14066
14067 /**
14068 * Function to precompute _init and _key.
14069 * @private
14070 */
14071 _precompute: function () {
14072 // XXX: This code is for precomputing the SHA256 constants, change for
14073 // SHA512 and re-enable.
14074 var i = 0, prime = 2, factor;
14075
14076 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14077 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14078
14079 outer: for (; i<80; prime++) {
14080 for (factor=2; factor*factor <= prime; factor++) {
14081 if (prime % factor === 0) {
14082 // not a prime
14083 continue outer;
ebd8d4e8 14084 }
80c4dd2a
IC
14085 }
14086
14087 if (i<8) {
14088 this._init[i*2] = frac(Math.pow(prime, 1/2));
14089 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14090 }
14091 this._key[i*2] = frac(Math.pow(prime, 1/3));
14092 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14093 i++;
ebd8d4e8 14094 }
80c4dd2a
IC
14095 },
14096
14097 /**
14098 * Perform one cycle of SHA-512.
14099 * @param {bitArray} words one block of words.
14100 * @private
14101 */
14102 _block:function (words) {
14103 var i, wrh, wrl,
14104 w = words.slice(0),
14105 h = this._h,
14106 k = this._key,
14107 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14108 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14109 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14110 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14111
14112 // Working variables
14113 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14114 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14115 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14116 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14117
14118 for (i=0; i<80; i++) {
14119 // load up the input word for this round
14120 if (i<16) {
14121 wrh = w[i * 2];
14122 wrl = w[i * 2 + 1];
14123 } else {
14124 // Gamma0
14125 var gamma0xh = w[(i-15) * 2];
14126 var gamma0xl = w[(i-15) * 2 + 1];
14127 var gamma0h =
14128 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14129 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14130 (gamma0xh >>> 7);
14131 var gamma0l =
14132 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14133 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14134 ((gamma0xh << 25) | (gamma0xl >>> 7));
14135
14136 // Gamma1
14137 var gamma1xh = w[(i-2) * 2];
14138 var gamma1xl = w[(i-2) * 2 + 1];
14139 var gamma1h =
14140 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14141 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14142 (gamma1xh >>> 6);
14143 var gamma1l =
14144 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14145 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14146 ((gamma1xh << 26) | (gamma1xl >>> 6));
14147
14148 // Shortcuts
14149 var wr7h = w[(i-7) * 2];
14150 var wr7l = w[(i-7) * 2 + 1];
14151
14152 var wr16h = w[(i-16) * 2];
14153 var wr16l = w[(i-16) * 2 + 1];
14154
14155 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14156 wrl = gamma0l + wr7l;
14157 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14158 wrl += gamma1l;
14159 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14160 wrl += wr16l;
14161 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14162 }
14163
14164 w[i*2] = wrh |= 0;
14165 w[i*2 + 1] = wrl |= 0;
14166
14167 // Ch
14168 var chh = (eh & fh) ^ (~eh & gh);
14169 var chl = (el & fl) ^ (~el & gl);
14170
14171 // Maj
14172 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14173 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14174
14175 // Sigma0
14176 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14177 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14178
14179 // Sigma1
14180 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14181 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14182
14183 // K(round)
14184 var krh = k[i*2];
14185 var krl = k[i*2+1];
14186
14187 // t1 = h + sigma1 + ch + K(round) + W(round)
14188 var t1l = hl + sigma1l;
14189 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14190 t1l += chl;
14191 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14192 t1l += krl;
14193 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14194 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14195 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14196
14197 // t2 = sigma0 + maj
14198 var t2l = sigma0l + majl;
14199 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14200
14201 // Update working variables
14202 hh = gh;
14203 hl = gl;
14204 gh = fh;
14205 gl = fl;
14206 fh = eh;
14207 fl = el;
14208 el = (dl + t1l) | 0;
14209 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14210 dh = ch;
14211 dl = cl;
14212 ch = bh;
14213 cl = bl;
14214 bh = ah;
14215 bl = al;
14216 al = (t1l + t2l) | 0;
14217 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14218 }
14219
14220 // Intermediate hash
14221 h0l = h[1] = (h0l + al) | 0;
14222 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14223 h1l = h[3] = (h1l + bl) | 0;
14224 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14225 h2l = h[5] = (h2l + cl) | 0;
14226 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14227 h3l = h[7] = (h3l + dl) | 0;
14228 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14229 h4l = h[9] = (h4l + el) | 0;
14230 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14231 h5l = h[11] = (h5l + fl) | 0;
14232 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14233 h6l = h[13] = (h6l + gl) | 0;
14234 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14235 h7l = h[15] = (h7l + hl) | 0;
14236 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14237 }
14238};
14239
14240
14241//// hmac.js
14242
14243/** @fileOverview HMAC implementation.
14244 *
14245 * @author Emily Stark
14246 * @author Mike Hamburg
14247 * @author Dan Boneh
14248 */
14249
14250/** HMAC with the specified hash function.
14251 * @constructor
14252 * @param {bitArray} key the key for HMAC.
14253 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14254 */
14255sjcl.misc.hmac = function (key, Hash) {
14256 this._hash = Hash = Hash || sjcl.hash.sha256;
14257 var exKey = [[],[]], i,
14258 bs = Hash.prototype.blockSize / 32;
14259 this._baseHash = [new Hash(), new Hash()];
14260
14261 if (key.length > bs) {
14262 key = Hash.hash(key);
14263 }
14264
14265 for (i=0; i<bs; i++) {
14266 exKey[0][i] = key[i]^0x36363636;
14267 exKey[1][i] = key[i]^0x5C5C5C5C;
14268 }
14269
14270 this._baseHash[0].update(exKey[0]);
14271 this._baseHash[1].update(exKey[1]);
14272 this._resultHash = new Hash(this._baseHash[0]);
14273};
14274
14275/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14276 * @param {bitArray|String} data The data to mac.
14277 */
14278sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14279 if (!this._updated) {
14280 this.update(data);
14281 return this.digest(data);
14282 } else {
14283 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14284 }
14285};
14286
14287sjcl.misc.hmac.prototype.reset = function () {
14288 this._resultHash = new this._hash(this._baseHash[0]);
14289 this._updated = false;
14290};
14291
14292sjcl.misc.hmac.prototype.update = function (data) {
14293 this._updated = true;
14294 this._resultHash.update(data);
14295};
14296
14297sjcl.misc.hmac.prototype.digest = function () {
14298 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14299
14300 this.reset();
14301
14302 return result;
14303};
14304
14305
14306//// pbkdf2.js
14307
14308
14309/** @fileOverview Password-based key-derivation function, version 2.0.
14310 *
14311 * @author Emily Stark
14312 * @author Mike Hamburg
14313 * @author Dan Boneh
14314 */
14315
14316/** Password-Based Key-Derivation Function, version 2.0.
14317 *
14318 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14319 *
14320 * This is the method specified by RSA's PKCS #5 standard.
14321 *
14322 * @param {bitArray|String} password The password.
14323 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14324 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14325 * @param {Number} [length] The length of the derived key. Defaults to the
14326 output size of the hash function.
14327 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14328 * @return {bitArray} the derived key.
14329 */
14330sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14331 count = count || 1000;
14332
14333 if (length < 0 || count < 0) {
14334 throw sjcl.exception.invalid("invalid params to pbkdf2");
14335 }
14336
14337 if (typeof password === "string") {
14338 password = sjcl.codec.utf8String.toBits(password);
14339 }
14340
14341 if (typeof salt === "string") {
14342 salt = sjcl.codec.utf8String.toBits(salt);
14343 }
14344
14345 Prff = Prff || sjcl.misc.hmac;
14346
14347 var prf = new Prff(password),
14348 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14349
14350 for (k = 1; 32 * out.length < (length || 1); k++) {
14351 u = ui = prf.encrypt(b.concat(salt,[k]));
14352
14353 for (i=1; i<count; i++) {
14354 ui = prf.encrypt(ui);
14355 for (j=0; j<ui.length; j++) {
14356 u[j] ^= ui[j];
14357 }
ebd8d4e8 14358 }
80c4dd2a
IC
14359
14360 out = out.concat(u);
14361 }
14362
14363 if (length) { out = b.clamp(out, length); }
14364
14365 return out;
14366};
14367
14368
14369//// sha256.js
14370
14371/** @fileOverview Javascript SHA-256 implementation.
14372 *
14373 * An older version of this implementation is available in the public
14374 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14375 * Stanford University 2008-2010 and BSD-licensed for liability
14376 * reasons.
14377 *
14378 * Special thanks to Aldo Cortesi for pointing out several bugs in
14379 * this code.
14380 *
14381 * @author Emily Stark
14382 * @author Mike Hamburg
14383 * @author Dan Boneh
14384 */
14385
14386/**
14387 * Context for a SHA-256 operation in progress.
14388 * @constructor
14389 * @class Secure Hash Algorithm, 256 bits.
14390 */
14391sjcl.hash.sha256 = function (hash) {
14392 if (!this._key[0]) { this._precompute(); }
14393 if (hash) {
14394 this._h = hash._h.slice(0);
14395 this._buffer = hash._buffer.slice(0);
14396 this._length = hash._length;
14397 } else {
14398 this.reset();
14399 }
14400};
14401
14402/**
14403 * Hash a string or an array of words.
14404 * @static
14405 * @param {bitArray|String} data the data to hash.
14406 * @return {bitArray} The hash value, an array of 16 big-endian words.
14407 */
14408sjcl.hash.sha256.hash = function (data) {
14409 return (new sjcl.hash.sha256()).update(data).finalize();
14410};
14411
14412sjcl.hash.sha256.prototype = {
14413 /**
14414 * The hash's block size, in bits.
14415 * @constant
14416 */
14417 blockSize: 512,
14418
14419 /**
14420 * Reset the hash state.
14421 * @return this
14422 */
14423 reset:function () {
14424 this._h = this._init.slice(0);
14425 this._buffer = [];
14426 this._length = 0;
14427 return this;
14428 },
14429
14430 /**
14431 * Input several words to the hash.
14432 * @param {bitArray|String} data the data to hash.
14433 * @return this
14434 */
14435 update: function (data) {
14436 if (typeof data === "string") {
14437 data = sjcl.codec.utf8String.toBits(data);
14438 }
14439 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14440 ol = this._length,
14441 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14442 for (i = 512+ol & -512; i <= nl; i+= 512) {
14443 this._block(b.splice(0,16));
ebd8d4e8 14444 }
3af2954a 14445 return this;
80c4dd2a
IC
14446 },
14447
14448 /**
14449 * Complete hashing and output the hash value.
14450 * @return {bitArray} The hash value, an array of 8 big-endian words.
14451 */
14452 finalize:function () {
14453 var i, b = this._buffer, h = this._h;
14454
14455 // Round out and push the buffer
14456 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14457
14458 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14459 for (i = b.length + 2; i & 15; i++) {
14460 b.push(0);
14461 }
14462
14463 // append the length
14464 b.push(Math.floor(this._length / 0x100000000));
14465 b.push(this._length | 0);
14466
14467 while (b.length) {
14468 this._block(b.splice(0,16));
14469 }
14470
14471 this.reset();
14472 return h;
14473 },
14474
14475 /**
14476 * The SHA-256 initialization vector, to be precomputed.
14477 * @private
14478 */
14479 _init:[],
14480 /*
14481 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14482 */
14483
14484 /**
14485 * The SHA-256 hash key, to be precomputed.
14486 * @private
14487 */
14488 _key:[],
14489 /*
14490 _key:
14491 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14492 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14493 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14494 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14495 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14496 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14497 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14498 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14499 */
14500
14501
14502 /**
14503 * Function to precompute _init and _key.
14504 * @private
14505 */
14506 _precompute: function () {
14507 var i = 0, prime = 2, factor;
14508
14509 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14510
14511 outer: for (; i<64; prime++) {
14512 for (factor=2; factor*factor <= prime; factor++) {
14513 if (prime % factor === 0) {
14514 // not a prime
14515 continue outer;
ebd8d4e8 14516 }
80c4dd2a
IC
14517 }
14518
14519 if (i<8) {
14520 this._init[i] = frac(Math.pow(prime, 1/2));
14521 }
14522 this._key[i] = frac(Math.pow(prime, 1/3));
14523 i++;
ebd8d4e8 14524 }
80c4dd2a
IC
14525 },
14526
14527 /**
14528 * Perform one cycle of SHA-256.
14529 * @param {bitArray} words one block of words.
14530 * @private
14531 */
14532 _block:function (words) {
14533 var i, tmp, a, b,
14534 w = words.slice(0),
14535 h = this._h,
14536 k = this._key,
14537 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14538 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14539
14540 /* Rationale for placement of |0 :
14541 * If a value can overflow is original 32 bits by a factor of more than a few
14542 * million (2^23 ish), there is a possibility that it might overflow the
14543 * 53-bit mantissa and lose precision.
14544 *
14545 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14546 * propagates around the loop, and on the hash state h[]. I don't believe
14547 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14548 * (for h4 anyway), and better safe than sorry.
14549 *
14550 * The clamps on h[] are necessary for the output to be correct even in the
14551 * common case and for short inputs.
14552 */
14553 for (i=0; i<64; i++) {
14554 // load up the input word for this round
14555 if (i<16) {
14556 tmp = w[i];
14557 } else {
14558 a = w[(i+1 ) & 15];
14559 b = w[(i+14) & 15];
14560 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14561 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14562 w[i&15] + w[(i+9) & 15]) | 0;
14563 }
14564
14565 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14566
14567 // shift register
14568 h7 = h6; h6 = h5; h5 = h4;
14569 h4 = h3 + tmp | 0;
14570 h3 = h2; h2 = h1; h1 = h0;
14571
14572 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14573 }
14574
14575 h[0] = h[0]+h0 | 0;
14576 h[1] = h[1]+h1 | 0;
14577 h[2] = h[2]+h2 | 0;
14578 h[3] = h[3]+h3 | 0;
14579 h[4] = h[4]+h4 | 0;
14580 h[5] = h[5]+h5 | 0;
14581 h[6] = h[6]+h6 | 0;
14582 h[7] = h[7]+h7 | 0;
14583 }
14584};
dc55c6b0 14585</script>
ab78acc6 14586 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14587WORDLISTS["english"] = [
ebd8d4e8
IC
14588"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14589"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14590"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14591"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14592"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14593"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14594"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14595"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14596"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14597"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14598"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14599"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14600"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14601"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14602"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14603"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14604"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14605"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14606"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14607"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14608"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14609"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14610"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14611"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14612"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14613"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14614"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14615"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14616"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14617"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14618"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14619"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14620"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14621"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14622"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14623"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
14624"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
14625"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
14626"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
14627"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
14628"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
14629"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
14630"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
14631"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
14632"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
14633"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
14634"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
14635"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
14636"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
14637"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
14638"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
14639"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
14640"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
14641"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
14642"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
14643"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
14644"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
14645"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
14646"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
14647"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
14648"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
14649"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
14650"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
14651"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
14652"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
14653"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
14654"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
14655"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
14656"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
14657"film","filter","final","find","fine","finger","finish","fire","firm","first",
14658"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
14659"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
14660"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
14661"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
14662"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
14663"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
14664"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
14665"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
14666"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
14667"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
14668"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
14669"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
14670"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
14671"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
14672"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
14673"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
14674"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
14675"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
14676"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
14677"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
14678"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
14679"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
14680"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
14681"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
14682"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
14683"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
14684"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
14685"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
14686"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
14687"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
14688"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
14689"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
14690"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
14691"liar","liberty","library","license","life","lift","light","like","limb","limit",
14692"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
14693"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
14694"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
14695"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
14696"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
14697"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
14698"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
14699"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
14700"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
14701"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
14702"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
14703"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
14704"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
14705"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
14706"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
14707"network","neutral","never","news","next","nice","night","noble","noise","nominee",
14708"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
14709"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
14710"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
14711"oil","okay","old","olive","olympic","omit","once","one","onion","online",
14712"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
14713"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
14714"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
14715"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
14716"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
14717"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
14718"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
14719"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
14720"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
14721"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
14722"pole","police","pond","pony","pool","popular","portion","position","possible","post",
14723"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
14724"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
14725"prize","problem","process","produce","profit","program","project","promote","proof","property",
14726"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
14727"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
14728"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
14729"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
14730"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
14731"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
14732"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
14733"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
14734"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
14735"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
14736"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
14737"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
14738"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
14739"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
14740"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
14741"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
14742"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
14743"scrub","sea","search","season","seat","second","secret","section","security","seed",
14744"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
14745"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
14746"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
14747"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
14748"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
14749"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
14750"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
14751"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
14752"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
14753"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
14754"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
14755"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
14756"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
14757"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
14758"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
14759"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
14760"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
14761"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
14762"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
14763"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
14764"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
14765"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
14766"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
14767"thank","that","theme","then","theory","there","they","thing","this","thought",
14768"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
14769"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
14770"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
14771"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
14772"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
14773"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
14774"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
14775"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
14776"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
14777"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
14778"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
14779"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
14780"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
14781"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
14782"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
14783"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
14784"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
14785"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
14786"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
14787"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
14788"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
14789"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
14790"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
14791"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
14792"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
14793</script>
14794 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
14795WORDLISTS["japanese"] = [
14796"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける", "あこがれる", "あさい",
14797"あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ", "あたえる", "あたためる", "あたりまえ", "あたる",
14798"あつい", "あつかう", "あっしゅく", "あつまり", "あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる",
14799"あふれる", "あまい", "あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
14800"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる", "あんい", "あんがい",
14801"あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす", "いおん", "いがい", "いがく", "いきおい",
14802"いきなり", "いきもの", "いきる", "いくじ", "いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ",
14803"いさましい", "いさん", "いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
14804"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら", "いたみ", "いたりあ",
14805"いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう", "いつか", "いっしゅん", "いっせい", "いっそう",
14806"いったん", "いっち", "いってい", "いっぽう", "いてざ", "いてん", "いどう", "いとこ", "いない", "いなか",
14807"いねむり", "いのち", "いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
14808"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん", "いよく", "いらい",
14809"いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる", "いろえんぴつ", "いわい", "いわう", "いわかん",
14810"いわば", "いわゆる", "いんげんまめ", "いんさつ", "いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい",
14811"うかぶ", "うかべる", "うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
14812"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ", "うすぐらい", "うすめる",
14813"うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり", "うつくしい", "うったえる", "うつる", "うどん",
14814"うなぎ", "うなじ", "うなずく", "うなる", "うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる",
14815"うもう", "うやまう", "うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
14816"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん", "うんどう", "えいえん",
14817"えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう", "えいわ", "えおり", "えがお", "えがく",
14818"えきたい", "えくせる", "えしゃく", "えすて", "えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ",
14819"えもの", "えらい", "えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
14820"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん", "おうさま", "おうじ",
14821"おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる", "おおい", "おおう", "おおどおり", "おおや",
14822"おおよそ", "おかえり", "おかず", "おがむ", "おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな",
14823"おくる", "おくれる", "おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
14824"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか", "おちつく", "おっと",
14825"おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす", "おばさん", "おまいり", "おめでとう", "おもいで",
14826"おもう", "おもたい", "おもちゃ", "おやつ", "おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい",
14827"おんしゃ", "おんせん", "おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
14828"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう", "かいふく", "がいへき",
14829"かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり", "かかえる", "かがく", "かがし", "かがみ",
14830"かくご", "かくとく", "かざる", "がぞう", "かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん",
14831"がっしょう", "かなざわし", "かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
14832"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか", "かんけい", "かんこう",
14833"かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい", "きあつ", "きいろ", "ぎいん", "きうい",
14834"きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて",
14835"きくばり", "きくらげ", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
14836"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき", "きせつ", "きそう",
14837"きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり", "きつつき", "きつね", "きてい", "きどう",
14838"きどく", "きない", "きなが", "きなこ", "きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい",
14839"きひん", "きふく", "きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
14840"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい", "きらく", "きりん",
14841"きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ", "きんかくじ", "きんじょ", "きんようび", "ぐあい",
14842"くいず", "くうかん", "くうき", "くうぐん", "くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ",
14843"くかん", "くきょう", "くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
14844"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ", "くちさき", "くつした",
14845"ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね", "くのう", "くふう", "くみあわせ", "くみたてる",
14846"くめる", "くやくしょ", "くらす", "くらべる", "くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく",
14847"ぐんたい", "ぐんて", "けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
14848"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん", "げきとつ", "げきは",
14849"げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "げすと",
14850"けたば", "けちゃっぷ", "けちらす", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい",
14851"けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
14852"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし",
14853"けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき",
14854"けんげん", "けんこう", "けんさく", "けんしゅう", "けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない",
14855"けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
14856"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい", "こうじ", "こうすい",
14857"ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうどう", "こうない", "こうはい", "ごうほう",
14858"ごうまん", "こうもく", "こうりつ", "こえる", "こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい",
14859"こくとう", "こくない", "こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
14860"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか",
14861"こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら", "ことし", "ことば", "ことり", "こなごな",
14862"こねこね", "このまま", "このみ", "このよ", "ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら",
14863"こまかい", "ごますり", "こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
14864"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ", "こわもて", "こわれる",
14865"こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて", "こんとん", "こんなん", "こんびに", "こんぽん",
14866"こんまけ", "こんや", "こんれい", "こんわく", "ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ",
14867"さいせい", "ざいたく", "ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
14868"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる", "ざせき", "さたん",
14869"さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし", "さつじん", "ざっそう", "さつたば", "さつまいも",
14870"さてい", "さといも", "さとう", "さとおや", "さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ",
14871"さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
14872"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい",
14873"ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま", "さんみ", "さんらん", "しあい", "しあげ",
14874"しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しおけ", "しかい", "しかく", "じかん",
14875"しごと", "しすう", "じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
14876"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ", "しなもの", "しなん",
14877"しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "しはらい", "しはん", "しひょう",
14878"しふく", "じぶん", "しへい", "しほう", "しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ",
14879"しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
14880"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん", "じゃま", "しゃりん",
14881"しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき", "しゅみ", "しゅらば", "じゅんばん", "しょうかい",
14882"しょくたく", "しょっけん", "しょどう", "しょもつ", "しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ",
14883"しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
14884"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない", "すける", "すごい",
14885"すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり", "ずっしり", "ずっと", "すてき", "すてる",
14886"すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる",
14887"ずほう", "すぼん", "すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
14888"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう", "せおう", "せかいかん",
14889"せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかく",
14890"せっきゃく", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび",
14891"せつぶん", "せつめい", "せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
14892"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんげん",
14893"ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ", "せんたく", "せんちょう", "せんてい", "せんとう",
14894"せんぬき", "せんねん", "せんぱい", "ぜんぶ", "ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう",
14895"せんよう", "ぜんら", "ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
14896"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの", "そえん", "そがい",
14897"そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう",
14898"そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる",
14899"そなた", "そふぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
14900"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく", "そんちょう", "ぞんび",
14901"ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいがく", "たいき", "たいぐう",
14902"たいけん", "たいこ", "たいざい", "だいじょうぶ", "だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい",
14903"だいどころ", "たいない", "たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
14904"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる", "たいわん", "たうえ",
14905"たえる", "たおす", "たおる", "たおれる", "たかい", "たかね", "たきび", "たくさん", "たこく", "たこやき",
14906"たさい", "たしざん", "だじゃれ", "たすける", "たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ",
14907"たちばな", "だっかい", "だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
14908"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる", "だむる", "ためいき",
14909"ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす", "たりきほんがん", "たりょう", "たりる", "たると",
14910"たれる", "たれんと", "たろっと", "たわむれる", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん",
14911"たんご", "たんさん", "たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
14912"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ",
14913"ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい", "ちから", "ちきゅう", "ちきん", "ちけいず",
14914"ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや",
14915"ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
14916"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん", "ちらし", "ちらみ",
14917"ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "ついたち", "つうか", "つうじょう",
14918"つうはん", "つうわ", "つかう", "つかれる", "つくね", "つくる", "つけね", "つける", "つごう", "つたえる",
14919"つづく", "つつじ", "つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
14920"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく", "つわもの", "つわり",
14921"てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき", "ていけい", "ていこく", "ていさつ", "ていし",
14922"ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう",
14923"てくび", "でこぼこ", "てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
14924"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てぶくろ", "てふだ",
14925"てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ", "てらす", "てれび", "てわけ", "てわたし",
14926"でんあつ", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう",
14927"でんち", "てんてき", "てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
14928"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい", "とおか", "とおく",
14929"とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくしゅう", "とくてん", "とくに",
14930"とくべつ", "とけい", "とける", "とこや", "とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう",
14931"とっくん", "とつぜん", "とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
14932"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる", "とんかつ", "どんぶり",
14933"ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "なおす", "ながい", "なくす", "なげる",
14934"なこうど", "なさけ", "なたでここ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか",
14935"なふだ", "なまいき", "なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
14936"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて",
14937"にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき", "にせもの", "にちじょう", "にちようび", "にっか",
14938"にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん",
14939"にまめ", "にもつ", "にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
14940"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ",
14941"にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう", "ぬくもり", "ぬすむ", "ぬまえび", "ぬめり",
14942"ぬらす", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ",
14943"ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
14944"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい", "ねもと", "ねらう",
14945"ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんど",
14946"ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう", "ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり",
14947"のこす", "のこる", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
14948"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき", "のれん", "のんき",
14949"ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん", "はいご", "はいしん", "はいすい", "はいせん",
14950"はいそう", "はいち", "ばいばい", "はいれつ", "はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ",
14951"はけん", "はこぶ", "はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
14952"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
14953"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
14954"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
14955"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
14956"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
14957"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
14958"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
14959"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
14960"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
14961"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
14962"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
14963"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
14964"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
14965"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
14966"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
14967"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
14968"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
14969"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
14970"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
14971"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
14972"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
14973"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
14974"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
14975"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
14976"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
14977"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
14978"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
14979"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
14980"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
14981"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
14982"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
14983"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
14984"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
14985"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
14986"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
14987"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
14988"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
14989"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
14990"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
14991"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
14992"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
14993"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
14994"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
14995"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
14996"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
14997"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
14998"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
14999"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15000"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15001</script>
15002 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15003WORDLISTS["spanish"] = [
15004"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15005"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15006"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15007"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15008"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15009"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15010"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15011"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15012"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15013"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15014"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15015"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15016"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15017"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15018"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15019"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15020"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15021"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15022"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15023"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15024"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15025"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15026"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15027"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15028"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15029"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15030"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15031"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15032"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15033"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15034"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15035"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15036"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15037"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15038"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15039"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15040"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15041"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15042"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15043"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15044"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15045"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15046"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15047"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15048"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15049"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15050"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15051"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15052"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15053"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15054"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15055"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15056"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15057"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15058"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15059"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15060"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15061"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15062"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15063"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15064"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15065"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15066"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15067"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15068"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15069"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15070"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15071"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15072"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15073"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15074"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15075"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15076"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15077"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15078"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15079"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15080"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15081"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15082"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15083"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15084"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15085"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15086"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15087"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15088"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15089"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15090"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15091"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15092"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15093"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15094"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15095"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15096"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15097"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15098"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15099"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15100"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15101"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15102"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15103"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15104"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15105"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15106"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15107"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15108"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15109"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15110"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15111"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15112"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15113"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15114"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15115"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15116"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15117"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15118"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15119"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15120"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15121"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15122"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15123"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15124"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15125"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15126"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15127"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15128"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15129"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15130"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15131"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15132"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15133"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15134"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15135"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15136"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15137"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15138"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15139"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15140"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15141"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15142"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15143"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15144"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15145"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15146"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15147"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15148"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15149"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15150"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15151"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15152"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15153"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15154"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15155"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15156"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15157"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15158"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15159"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15160"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15161"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15162"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15163"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15164"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15165"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15166"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15167"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15168"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15169"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15170"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15171"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15172"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15173"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15174"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15175"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15176"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15177"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15178"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15179"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15180"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15181"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15182"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15183"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15184"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15185"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15186"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15187"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15188"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15189"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15190"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15191"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15192"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15193"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15194"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15195"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15196"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15197"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15198"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15199"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15200"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15201"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15202"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15203"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15204"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15205"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15206"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15207"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15208"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15209</script>
15210 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15211WORDLISTS["chinese_simplified"] = [
15212"的", "一", "是", "在", "不", "了", "有", "和", "人", "这",
15213"中", "大", "为", "上", "个", "国", "我", "以", "要", "他",
15214"时", "来", "用", "们", "生", "到", "作", "地", "于", "出",
15215"就", "分", "对", "成", "会", "可", "主", "发", "年", "动",
15216"同", "工", "也", "能", "下", "过", "子", "说", "产", "种",
15217"面", "而", "方", "后", "多", "定", "行", "学", "法", "所",
15218"民", "得", "经", "十", "三", "之", "进", "着", "等", "部",
15219"度", "家", "电", "力", "里", "如", "水", "化", "高", "自",
15220"二", "理", "起", "小", "物", "现", "实", "加", "量", "都",
15221"两", "体", "制", "机", "当", "使", "点", "从", "业", "本",
15222"去", "把", "性", "好", "应", "开", "它", "合", "还", "因",
15223"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15224"那", "社", "义", "事", "平", "形", "相", "全", "表", "间",
15225"样", "与", "关", "各", "重", "新", "线", "内", "数", "正",
15226"心", "反", "你", "明", "看", "原", "又", "么", "利", "比",
15227"或", "但", "质", "气", "第", "向", "道", "命", "此", "变",
15228"条", "只", "没", "结", "解", "问", "意", "建", "月", "公",
15229"无", "系", "军", "很", "情", "者", "最", "立", "代", "想",
15230"已", "通", "并", "提", "直", "题", "党", "程", "展", "五",
15231"果", "料", "象", "员", "革", "位", "入", "常", "文", "总",
15232"次", "品", "式", "活", "设", "及", "管", "特", "件", "长",
15233"求", "老", "头", "基", "资", "边", "流", "路", "级", "少",
15234"图", "山", "统", "接", "知", "较", "将", "组", "见", "计",
15235"别", "她", "手", "角", "期", "根", "论", "运", "农", "指",
15236"几", "九", "区", "强", "放", "决", "西", "被", "干", "做",
15237"必", "战", "先", "回", "则", "任", "取", "据", "处", "队",
15238"南", "给", "色", "光", "门", "即", "保", "治", "北", "造",
15239"百", "规", "热", "领", "七", "海", "口", "东", "导", "器",
15240"压", "志", "世", "金", "增", "争", "济", "阶", "油", "思",
15241"术", "极", "交", "受", "联", "什", "认", "六", "共", "权",
15242"收", "证", "改", "清", "美", "再", "采", "转", "更", "单",
15243"风", "切", "打", "白", "教", "速", "花", "带", "安", "场",
15244"身", "车", "例", "真", "务", "具", "万", "每", "目", "至",
15245"达", "走", "积", "示", "议", "声", "报", "斗", "完", "类",
15246"八", "离", "华", "名", "确", "才", "科", "张", "信", "马",
15247"节", "话", "米", "整", "空", "元", "况", "今", "集", "温",
15248"传", "土", "许", "步", "群", "广", "石", "记", "需", "段",
15249"研", "界", "拉", "林", "律", "叫", "且", "究", "观", "越",
15250"织", "装", "影", "算", "低", "持", "音", "众", "书", "布",
15251"复", "容", "儿", "须", "际", "商", "非", "验", "连", "断",
15252"深", "难", "近", "矿", "千", "周", "委", "素", "技", "备",
15253"半", "办", "青", "省", "列", "习", "响", "约", "支", "般",
15254"史", "感", "劳", "便", "团", "往", "酸", "历", "市", "克",
15255"何", "除", "消", "构", "府", "称", "太", "准", "精", "值",
15256"号", "率", "族", "维", "划", "选", "标", "写", "存", "候",
15257"毛", "亲", "快", "效", "斯", "院", "查", "江", "型", "眼",
15258"王", "按", "格", "养", "易", "置", "派", "层", "片", "始",
15259"却", "专", "状", "育", "厂", "京", "识", "适", "属", "圆",
15260"包", "火", "住", "调", "满", "县", "局", "照", "参", "红",
15261"细", "引", "听", "该", "铁", "价", "严", "首", "底", "液",
15262"官", "德", "随", "病", "苏", "失", "尔", "死", "讲", "配",
15263"女", "黄", "推", "显", "谈", "罪", "神", "艺", "呢", "席",
15264"含", "企", "望", "密", "批", "营", "项", "防", "举", "球",
15265"英", "氧", "势", "告", "李", "台", "落", "木", "帮", "轮",
15266"破", "亚", "师", "围", "注", "远", "字", "材", "排", "供",
15267"河", "态", "封", "另", "施", "减", "树", "溶", "怎", "止",
15268"案", "言", "士", "均", "武", "固", "叶", "鱼", "波", "视",
15269"仅", "费", "紧", "爱", "左", "章", "早", "朝", "害", "续",
15270"轻", "服", "试", "食", "充", "兵", "源", "判", "护", "司",
15271"足", "某", "练", "差", "致", "板", "田", "降", "黑", "犯",
15272"负", "击", "范", "继", "兴", "似", "余", "坚", "曲", "输",
15273"修", "故", "城", "夫", "够", "送", "笔", "船", "占", "右",
15274"财", "吃", "富", "春", "职", "觉", "汉", "画", "功", "巴",
15275"跟", "虽", "杂", "飞", "检", "吸", "助", "升", "阳", "互",
15276"初", "创", "抗", "考", "投", "坏", "策", "古", "径", "换",
15277"未", "跑", "留", "钢", "曾", "端", "责", "站", "简", "述",
15278"钱", "副", "尽", "帝", "射", "草", "冲", "承", "独", "令",
15279"限", "阿", "宣", "环", "双", "请", "超", "微", "让", "控",
15280"州", "良", "轴", "找", "否", "纪", "益", "依", "优", "顶",
15281"础", "载", "倒", "房", "突", "坐", "粉", "敌", "略", "客",
15282"袁", "冷", "胜", "绝", "析", "块", "剂", "测", "丝", "协",
15283"诉", "念", "陈", "仍", "罗", "盐", "友", "洋", "错", "苦",
15284"夜", "刑", "移", "频", "逐", "靠", "混", "母", "短", "皮",
15285"终", "聚", "汽", "村", "云", "哪", "既", "距", "卫", "停",
15286"烈", "央", "察", "烧", "迅", "境", "若", "印", "洲", "刻",
15287"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15288"侵", "吧", "甲", "游", "久", "菜", "味", "旧", "模", "湖",
15289"货", "损", "预", "阻", "毫", "普", "稳", "乙", "妈", "植",
15290"息", "扩", "银", "语", "挥", "酒", "守", "拿", "序", "纸",
15291"医", "缺", "雨", "吗", "针", "刘", "啊", "急", "唱", "误",
15292"训", "愿", "审", "附", "获", "茶", "鲜", "粮", "斤", "孩",
15293"脱", "硫", "肥", "善", "龙", "演", "父", "渐", "血", "欢",
15294"械", "掌", "歌", "沙", "刚", "攻", "谓", "盾", "讨", "晚",
15295"粒", "乱", "燃", "矛", "乎", "杀", "药", "宁", "鲁", "贵",
15296"钟", "煤", "读", "班", "伯", "香", "介", "迫", "句", "丰",
15297"培", "握", "兰", "担", "弦", "蛋", "沉", "假", "穿", "执",
15298"答", "乐", "谁", "顺", "烟", "缩", "征", "脸", "喜", "松",
15299"脚", "困", "异", "免", "背", "星", "福", "买", "染", "井",
15300"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "静", "补",
15301"评", "翻", "肉", "践", "尼", "衣", "宽", "扬", "棉", "希",
15302"伤", "操", "垂", "秋", "宜", "氢", "套", "督", "振", "架",
15303"亮", "末", "宪", "庆", "编", "牛", "触", "映", "雷", "销",
15304"诗", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15305"绿", "晶", "厚", "盟", "衡", "鸡", "孙", "延", "危", "胶",
15306"屋", "乡", "临", "陆", "顾", "掉", "呀", "灯", "岁", "措",
15307"束", "耐", "剧", "玉", "赵", "跳", "哥", "季", "课", "凯",
15308"胡", "额", "款", "绍", "卷", "齐", "伟", "蒸", "殖", "永",
15309"宗", "苗", "川", "炉", "岩", "弱", "零", "杨", "奏", "沿",
15310"露", "杆", "探", "滑", "镇", "饭", "浓", "航", "怀", "赶",
15311"库", "夺", "伊", "灵", "税", "途", "灭", "赛", "归", "召",
15312"鼓", "播", "盘", "裁", "险", "康", "唯", "录", "菌", "纯",
15313"借", "糖", "盖", "横", "符", "私", "努", "堂", "域", "枪",
15314"润", "幅", "哈", "竟", "熟", "虫", "泽", "脑", "壤", "碳",
15315"欧", "遍", "侧", "寨", "敢", "彻", "虑", "斜", "薄", "庭",
15316"纳", "弹", "饲", "伸", "折", "麦", "湿", "暗", "荷", "瓦",
15317"塞", "床", "筑", "恶", "户", "访", "塔", "奇", "透", "梁",
15318"刀", "旋", "迹", "卡", "氯", "遇", "份", "毒", "泥", "退",
15319"洗", "摆", "灰", "彩", "卖", "耗", "夏", "择", "忙", "铜",
15320"献", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15321"阵", "阴", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15322"楼", "避", "谋", "吨", "野", "猪", "旗", "累", "偏", "典",
15323"馆", "索", "秦", "脂", "潮", "爷", "豆", "忽", "托", "惊",
15324"塑", "遗", "愈", "朱", "替", "纤", "粗", "倾", "尚", "痛",
15325"楚", "谢", "奋", "购", "磨", "君", "池", "旁", "碎", "骨",
15326"监", "捕", "弟", "暴", "割", "贯", "殊", "释", "词", "亡",
15327"壁", "顿", "宝", "午", "尘", "闻", "揭", "炮", "残", "冬",
15328"桥", "妇", "警", "综", "招", "吴", "付", "浮", "遭", "徐",
15329"您", "摇", "谷", "赞", "箱", "隔", "订", "男", "吹", "园",
15330"纷", "唐", "败", "宋", "玻", "巨", "耕", "坦", "荣", "闭",
15331"湾", "键", "凡", "驻", "锅", "救", "恩", "剥", "凝", "碱",
15332"齿", "截", "炼", "麻", "纺", "禁", "废", "盛", "版", "缓",
15333"净", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15334"庄", "街", "藏", "姑", "贸", "腐", "奴", "啦", "惯", "乘",
15335"伙", "恢", "匀", "纱", "扎", "辩", "耳", "彪", "臣", "亿",
15336"璃", "抵", "脉", "秀", "萨", "俄", "网", "舞", "店", "喷",
15337"纵", "寸", "汗", "挂", "洪", "贺", "闪", "柬", "爆", "烯",
15338"津", "稻", "墙", "软", "勇", "像", "滚", "厘", "蒙", "芳",
15339"肯", "坡", "柱", "荡", "腿", "仪", "旅", "尾", "轧", "冰",
15340"贡", "登", "黎", "削", "钻", "勒", "逃", "障", "氨", "郭",
15341"峰", "币", "港", "伏", "轨", "亩", "毕", "擦", "莫", "刺",
15342"浪", "秘", "援", "株", "健", "售", "股", "岛", "甘", "泡",
15343"睡", "童", "铸", "汤", "阀", "休", "汇", "舍", "牧", "绕",
15344"炸", "哲", "磷", "绩", "朋", "淡", "尖", "启", "陷", "柴",
15345"呈", "徒", "颜", "泪", "稍", "忘", "泵", "蓝", "拖", "洞",
15346"授", "镜", "辛", "壮", "锋", "贫", "虚", "弯", "摩", "泰",
15347"幼", "廷", "尊", "窗", "纲", "弄", "隶", "疑", "氏", "宫",
15348"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "违",
15349"夹", "腰", "缘", "珠", "穷", "森", "枝", "竹", "沟", "催",
15350"绳", "忆", "邦", "剩", "幸", "浆", "栏", "拥", "牙", "贮",
15351"礼", "滤", "钠", "纹", "罢", "拍", "咱", "喊", "袖", "埃",
15352"勤", "罚", "焦", "潜", "伍", "墨", "欲", "缝", "姓", "刊",
15353"饱", "仿", "奖", "铝", "鬼", "丽", "跨", "默", "挖", "链",
15354"扫", "喝", "袋", "炭", "污", "幕", "诸", "弧", "励", "梅",
15355"奶", "洁", "灾", "舟", "鉴", "苯", "讼", "抱", "毁", "懂",
15356"寒", "智", "埔", "寄", "届", "跃", "渡", "挑", "丹", "艰",
15357"贝", "碰", "拔", "爹", "戴", "码", "梦", "芽", "熔", "赤",
15358"渔", "哭", "敬", "颗", "奔", "铅", "仲", "虎", "稀", "妹",
15359"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "仓", "魏",
15360"锐", "晓", "氮", "兼", "隐", "碍", "赫", "拨", "忠", "肃",
15361"缸", "牵", "抢", "博", "巧", "壳", "兄", "杜", "讯", "诚",
15362"碧", "祥", "柯", "页", "巡", "矩", "悲", "灌", "龄", "伦",
15363"票", "寻", "桂", "铺", "圣", "恐", "恰", "郑", "趣", "抬",
15364"荒", "腾", "贴", "柔", "滴", "猛", "阔", "辆", "妻", "填",
15365"撤", "储", "签", "闹", "扰", "紫", "砂", "递", "戏", "吊",
15366"陶", "伐", "喂", "疗", "瓶", "婆", "抚", "臂", "摸", "忍",
15367"虾", "蜡", "邻", "胸", "巩", "挤", "偶", "弃", "槽", "劲",
15368"乳", "邓", "吉", "仁", "烂", "砖", "租", "乌", "舰", "伴",
15369"瓜", "浅", "丙", "暂", "燥", "橡", "柳", "迷", "暖", "牌",
15370"秧", "胆", "详", "簧", "踏", "瓷", "谱", "呆", "宾", "糊",
15371"洛", "辉", "愤", "竞", "隙", "怒", "粘", "乃", "绪", "肩",
15372"籍", "敏", "涂", "熙", "皆", "侦", "悬", "掘", "享", "纠",
15373"醒", "狂", "锁", "淀", "恨", "牲", "霸", "爬", "赏", "逆",
15374"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鸭",
15375"趋", "凤", "晨", "畜", "辈", "秩", "卵", "署", "梯", "炎",
15376"滩", "棋", "驱", "筛", "峡", "冒", "啥", "寿", "译", "浸",
15377"泉", "帽", "迟", "硅", "疆", "贷", "漏", "稿", "冠", "嫩",
15378"胁", "芯", "牢", "叛", "蚀", "奥", "鸣", "岭", "羊", "凭",
15379"串", "塘", "绘", "酵", "融", "盆", "锡", "庙", "筹", "冻",
15380"辅", "摄", "袭", "筋", "拒", "僚", "旱", "钾", "鸟", "漆",
15381"沈", "眉", "疏", "添", "棒", "穗", "硝", "韩", "逼", "扭",
15382"侨", "凉", "挺", "碗", "栽", "炒", "杯", "患", "馏", "劝",
15383"豪", "辽", "勃", "鸿", "旦", "吏", "拜", "狗", "埋", "辊",
15384"掩", "饮", "搬", "骂", "辞", "勾", "扣", "估", "蒋", "绒",
15385"雾", "丈", "朵", "姆", "拟", "宇", "辑", "陕", "雕", "偿",
15386"蓄", "崇", "剪", "倡", "厅", "咬", "驶", "薯", "刷", "斥",
15387"番", "赋", "奉", "佛", "浇", "漫", "曼", "扇", "钙", "桃",
15388"扶", "仔", "返", "俗", "亏", "腔", "鞋", "棱", "覆", "框",
15389"悄", "叔", "撞", "骗", "勘", "旺", "沸", "孤", "吐", "孟",
15390"渠", "屈", "疾", "妙", "惜", "仰", "狠", "胀", "谐", "抛",
15391"霉", "桑", "岗", "嘛", "衰", "盗", "渗", "脏", "赖", "涌",
15392"甜", "曹", "阅", "肌", "哩", "厉", "烃", "纬", "毅", "昨",
15393"伪", "症", "煮", "叹", "钉", "搭", "茎", "笼", "酷", "偷",
15394"弓", "锥", "恒", "杰", "坑", "鼻", "翼", "纶", "叙", "狱",
15395"逮", "罐", "络", "棚", "抑", "膨", "蔬", "寺", "骤", "穆",
15396"冶", "枯", "册", "尸", "凸", "绅", "坯", "牺", "焰", "轰",
15397"欣", "晋", "瘦", "御", "锭", "锦", "丧", "旬", "锻", "垄",
15398"搜", "扑", "邀", "亭", "酯", "迈", "舒", "脆", "酶", "闲",
15399"忧", "酚", "顽", "羽", "涨", "卸", "仗", "陪", "辟", "惩",
15400"杭", "姚", "肚", "捉", "飘", "漂", "昆", "欺", "吾", "郎",
15401"烷", "汁", "呵", "饰", "萧", "雅", "邮", "迁", "燕", "撒",
15402"姻", "赴", "宴", "烦", "债", "帐", "斑", "铃", "旨", "醇",
15403"董", "饼", "雏", "姿", "拌", "傅", "腹", "妥", "揉", "贤",
15404"拆", "歪", "葡", "胺", "丢", "浩", "徽", "昂", "垫", "挡",
15405"览", "贪", "慰", "缴", "汪", "慌", "冯", "诺", "姜", "谊",
15406"凶", "劣", "诬", "耀", "昏", "躺", "盈", "骑", "乔", "溪",
15407"丛", "卢", "抹", "闷", "咨", "刮", "驾", "缆", "悟", "摘",
15408"铒", "掷", "颇", "幻", "柄", "惠", "惨", "佳", "仇", "腊",
15409"窝", "涤", "剑", "瞧", "堡", "泼", "葱", "罩", "霍", "捞",
15410"胎", "苍", "滨", "俩", "捅", "湘", "砍", "霞", "邵", "萄",
15411"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15412"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15413"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15414"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15415"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15416"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15417</script>
15418 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15419WORDLISTS["chinese_traditional"] = [
15420"的", "一", "是", "在", "不", "了", "有", "和", "人", "這",
15421"中", "大", "為", "上", "個", "國", "我", "以", "要", "他",
15422"時", "來", "用", "們", "生", "到", "作", "地", "於", "出",
15423"就", "分", "對", "成", "會", "可", "主", "發", "年", "動",
15424"同", "工", "也", "能", "下", "過", "子", "說", "產", "種",
15425"面", "而", "方", "後", "多", "定", "行", "學", "法", "所",
15426"民", "得", "經", "十", "三", "之", "進", "著", "等", "部",
15427"度", "家", "電", "力", "裡", "如", "水", "化", "高", "自",
15428"二", "理", "起", "小", "物", "現", "實", "加", "量", "都",
15429"兩", "體", "制", "機", "當", "使", "點", "從", "業", "本",
15430"去", "把", "性", "好", "應", "開", "它", "合", "還", "因",
15431"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15432"那", "社", "義", "事", "平", "形", "相", "全", "表", "間",
15433"樣", "與", "關", "各", "重", "新", "線", "內", "數", "正",
15434"心", "反", "你", "明", "看", "原", "又", "麼", "利", "比",
15435"或", "但", "質", "氣", "第", "向", "道", "命", "此", "變",
15436"條", "只", "沒", "結", "解", "問", "意", "建", "月", "公",
15437"無", "系", "軍", "很", "情", "者", "最", "立", "代", "想",
15438"已", "通", "並", "提", "直", "題", "黨", "程", "展", "五",
15439"果", "料", "象", "員", "革", "位", "入", "常", "文", "總",
15440"次", "品", "式", "活", "設", "及", "管", "特", "件", "長",
15441"求", "老", "頭", "基", "資", "邊", "流", "路", "級", "少",
15442"圖", "山", "統", "接", "知", "較", "將", "組", "見", "計",
15443"別", "她", "手", "角", "期", "根", "論", "運", "農", "指",
15444"幾", "九", "區", "強", "放", "決", "西", "被", "幹", "做",
15445"必", "戰", "先", "回", "則", "任", "取", "據", "處", "隊",
15446"南", "給", "色", "光", "門", "即", "保", "治", "北", "造",
15447"百", "規", "熱", "領", "七", "海", "口", "東", "導", "器",
15448"壓", "志", "世", "金", "增", "爭", "濟", "階", "油", "思",
15449"術", "極", "交", "受", "聯", "什", "認", "六", "共", "權",
15450"收", "證", "改", "清", "美", "再", "採", "轉", "更", "單",
15451"風", "切", "打", "白", "教", "速", "花", "帶", "安", "場",
15452"身", "車", "例", "真", "務", "具", "萬", "每", "目", "至",
15453"達", "走", "積", "示", "議", "聲", "報", "鬥", "完", "類",
15454"八", "離", "華", "名", "確", "才", "科", "張", "信", "馬",
15455"節", "話", "米", "整", "空", "元", "況", "今", "集", "溫",
15456"傳", "土", "許", "步", "群", "廣", "石", "記", "需", "段",
15457"研", "界", "拉", "林", "律", "叫", "且", "究", "觀", "越",
15458"織", "裝", "影", "算", "低", "持", "音", "眾", "書", "布",
15459"复", "容", "兒", "須", "際", "商", "非", "驗", "連", "斷",
15460"深", "難", "近", "礦", "千", "週", "委", "素", "技", "備",
15461"半", "辦", "青", "省", "列", "習", "響", "約", "支", "般",
15462"史", "感", "勞", "便", "團", "往", "酸", "歷", "市", "克",
15463"何", "除", "消", "構", "府", "稱", "太", "準", "精", "值",
15464"號", "率", "族", "維", "劃", "選", "標", "寫", "存", "候",
15465"毛", "親", "快", "效", "斯", "院", "查", "江", "型", "眼",
15466"王", "按", "格", "養", "易", "置", "派", "層", "片", "始",
15467"卻", "專", "狀", "育", "廠", "京", "識", "適", "屬", "圓",
15468"包", "火", "住", "調", "滿", "縣", "局", "照", "參", "紅",
15469"細", "引", "聽", "該", "鐵", "價", "嚴", "首", "底", "液",
15470"官", "德", "隨", "病", "蘇", "失", "爾", "死", "講", "配",
15471"女", "黃", "推", "顯", "談", "罪", "神", "藝", "呢", "席",
15472"含", "企", "望", "密", "批", "營", "項", "防", "舉", "球",
15473"英", "氧", "勢", "告", "李", "台", "落", "木", "幫", "輪",
15474"破", "亞", "師", "圍", "注", "遠", "字", "材", "排", "供",
15475"河", "態", "封", "另", "施", "減", "樹", "溶", "怎", "止",
15476"案", "言", "士", "均", "武", "固", "葉", "魚", "波", "視",
15477"僅", "費", "緊", "愛", "左", "章", "早", "朝", "害", "續",
15478"輕", "服", "試", "食", "充", "兵", "源", "判", "護", "司",
15479"足", "某", "練", "差", "致", "板", "田", "降", "黑", "犯",
15480"負", "擊", "范", "繼", "興", "似", "餘", "堅", "曲", "輸",
15481"修", "故", "城", "夫", "夠", "送", "筆", "船", "佔", "右",
15482"財", "吃", "富", "春", "職", "覺", "漢", "畫", "功", "巴",
15483"跟", "雖", "雜", "飛", "檢", "吸", "助", "昇", "陽", "互",
15484"初", "創", "抗", "考", "投", "壞", "策", "古", "徑", "換",
15485"未", "跑", "留", "鋼", "曾", "端", "責", "站", "簡", "述",
15486"錢", "副", "盡", "帝", "射", "草", "衝", "承", "獨", "令",
15487"限", "阿", "宣", "環", "雙", "請", "超", "微", "讓", "控",
15488"州", "良", "軸", "找", "否", "紀", "益", "依", "優", "頂",
15489"礎", "載", "倒", "房", "突", "坐", "粉", "敵", "略", "客",
15490"袁", "冷", "勝", "絕", "析", "塊", "劑", "測", "絲", "協",
15491"訴", "念", "陳", "仍", "羅", "鹽", "友", "洋", "錯", "苦",
15492"夜", "刑", "移", "頻", "逐", "靠", "混", "母", "短", "皮",
15493"終", "聚", "汽", "村", "雲", "哪", "既", "距", "衛", "停",
15494"烈", "央", "察", "燒", "迅", "境", "若", "印", "洲", "刻",
15495"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15496"侵", "吧", "甲", "遊", "久", "菜", "味", "舊", "模", "湖",
15497"貨", "損", "預", "阻", "毫", "普", "穩", "乙", "媽", "植",
15498"息", "擴", "銀", "語", "揮", "酒", "守", "拿", "序", "紙",
15499"醫", "缺", "雨", "嗎", "針", "劉", "啊", "急", "唱", "誤",
15500"訓", "願", "審", "附", "獲", "茶", "鮮", "糧", "斤", "孩",
15501"脫", "硫", "肥", "善", "龍", "演", "父", "漸", "血", "歡",
15502"械", "掌", "歌", "沙", "剛", "攻", "謂", "盾", "討", "晚",
15503"粒", "亂", "燃", "矛", "乎", "殺", "藥", "寧", "魯", "貴",
15504"鐘", "煤", "讀", "班", "伯", "香", "介", "迫", "句", "豐",
15505"培", "握", "蘭", "擔", "弦", "蛋", "沉", "假", "穿", "執",
15506"答", "樂", "誰", "順", "煙", "縮", "徵", "臉", "喜", "松",
15507"腳", "困", "異", "免", "背", "星", "福", "買", "染", "井",
15508"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "靜", "補",
15509"評", "翻", "肉", "踐", "尼", "衣", "寬", "揚", "棉", "希",
15510"傷", "操", "垂", "秋", "宜", "氫", "套", "督", "振", "架",
15511"亮", "末", "憲", "慶", "編", "牛", "觸", "映", "雷", "銷",
15512"詩", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15513"綠", "晶", "厚", "盟", "衡", "雞", "孫", "延", "危", "膠",
15514"屋", "鄉", "臨", "陸", "顧", "掉", "呀", "燈", "歲", "措",
15515"束", "耐", "劇", "玉", "趙", "跳", "哥", "季", "課", "凱",
15516"胡", "額", "款", "紹", "卷", "齊", "偉", "蒸", "殖", "永",
15517"宗", "苗", "川", "爐", "岩", "弱", "零", "楊", "奏", "沿",
15518"露", "桿", "探", "滑", "鎮", "飯", "濃", "航", "懷", "趕",
15519"庫", "奪", "伊", "靈", "稅", "途", "滅", "賽", "歸", "召",
15520"鼓", "播", "盤", "裁", "險", "康", "唯", "錄", "菌", "純",
15521"借", "糖", "蓋", "橫", "符", "私", "努", "堂", "域", "槍",
15522"潤", "幅", "哈", "竟", "熟", "蟲", "澤", "腦", "壤", "碳",
15523"歐", "遍", "側", "寨", "敢", "徹", "慮", "斜", "薄", "庭",
15524"納", "彈", "飼", "伸", "折", "麥", "濕", "暗", "荷", "瓦",
15525"塞", "床", "築", "惡", "戶", "訪", "塔", "奇", "透", "梁",
15526"刀", "旋", "跡", "卡", "氯", "遇", "份", "毒", "泥", "退",
15527"洗", "擺", "灰", "彩", "賣", "耗", "夏", "擇", "忙", "銅",
15528"獻", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15529"陣", "陰", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15530"樓", "避", "謀", "噸", "野", "豬", "旗", "累", "偏", "典",
15531"館", "索", "秦", "脂", "潮", "爺", "豆", "忽", "托", "驚",
15532"塑", "遺", "愈", "朱", "替", "纖", "粗", "傾", "尚", "痛",
15533"楚", "謝", "奮", "購", "磨", "君", "池", "旁", "碎", "骨",
15534"監", "捕", "弟", "暴", "割", "貫", "殊", "釋", "詞", "亡",
15535"壁", "頓", "寶", "午", "塵", "聞", "揭", "炮", "殘", "冬",
15536"橋", "婦", "警", "綜", "招", "吳", "付", "浮", "遭", "徐",
15537"您", "搖", "谷", "贊", "箱", "隔", "訂", "男", "吹", "園",
15538"紛", "唐", "敗", "宋", "玻", "巨", "耕", "坦", "榮", "閉",
15539"灣", "鍵", "凡", "駐", "鍋", "救", "恩", "剝", "凝", "鹼",
15540"齒", "截", "煉", "麻", "紡", "禁", "廢", "盛", "版", "緩",
15541"淨", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15542"莊", "街", "藏", "姑", "貿", "腐", "奴", "啦", "慣", "乘",
15543"夥", "恢", "勻", "紗", "扎", "辯", "耳", "彪", "臣", "億",
15544"璃", "抵", "脈", "秀", "薩", "俄", "網", "舞", "店", "噴",
15545"縱", "寸", "汗", "掛", "洪", "賀", "閃", "柬", "爆", "烯",
15546"津", "稻", "牆", "軟", "勇", "像", "滾", "厘", "蒙", "芳",
15547"肯", "坡", "柱", "盪", "腿", "儀", "旅", "尾", "軋", "冰",
15548"貢", "登", "黎", "削", "鑽", "勒", "逃", "障", "氨", "郭",
15549"峰", "幣", "港", "伏", "軌", "畝", "畢", "擦", "莫", "刺",
15550"浪", "秘", "援", "株", "健", "售", "股", "島", "甘", "泡",
15551"睡", "童", "鑄", "湯", "閥", "休", "匯", "舍", "牧", "繞",
15552"炸", "哲", "磷", "績", "朋", "淡", "尖", "啟", "陷", "柴",
15553"呈", "徒", "顏", "淚", "稍", "忘", "泵", "藍", "拖", "洞",
15554"授", "鏡", "辛", "壯", "鋒", "貧", "虛", "彎", "摩", "泰",
15555"幼", "廷", "尊", "窗", "綱", "弄", "隸", "疑", "氏", "宮",
15556"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "違",
15557"夾", "腰", "緣", "珠", "窮", "森", "枝", "竹", "溝", "催",
15558"繩", "憶", "邦", "剩", "幸", "漿", "欄", "擁", "牙", "貯",
15559"禮", "濾", "鈉", "紋", "罷", "拍", "咱", "喊", "袖", "埃",
15560"勤", "罰", "焦", "潛", "伍", "墨", "欲", "縫", "姓", "刊",
15561"飽", "仿", "獎", "鋁", "鬼", "麗", "跨", "默", "挖", "鏈",
15562"掃", "喝", "袋", "炭", "污", "幕", "諸", "弧", "勵", "梅",
15563"奶", "潔", "災", "舟", "鑑", "苯", "訟", "抱", "毀", "懂",
15564"寒", "智", "埔", "寄", "屆", "躍", "渡", "挑", "丹", "艱",
15565"貝", "碰", "拔", "爹", "戴", "碼", "夢", "芽", "熔", "赤",
15566"漁", "哭", "敬", "顆", "奔", "鉛", "仲", "虎", "稀", "妹",
15567"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "倉", "魏",
15568"銳", "曉", "氮", "兼", "隱", "礙", "赫", "撥", "忠", "肅",
15569"缸", "牽", "搶", "博", "巧", "殼", "兄", "杜", "訊", "誠",
15570"碧", "祥", "柯", "頁", "巡", "矩", "悲", "灌", "齡", "倫",
15571"票", "尋", "桂", "鋪", "聖", "恐", "恰", "鄭", "趣", "抬",
15572"荒", "騰", "貼", "柔", "滴", "猛", "闊", "輛", "妻", "填",
15573"撤", "儲", "簽", "鬧", "擾", "紫", "砂", "遞", "戲", "吊",
15574"陶", "伐", "餵", "療", "瓶", "婆", "撫", "臂", "摸", "忍",
15575"蝦", "蠟", "鄰", "胸", "鞏", "擠", "偶", "棄", "槽", "勁",
15576"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15577"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15578"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15579"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15580"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15581"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15582"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15583"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
15584"灘", "棋", "驅", "篩", "峽", "冒", "啥", "壽", "譯", "浸",
15585"泉", "帽", "遲", "矽", "疆", "貸", "漏", "稿", "冠", "嫩",
15586"脅", "芯", "牢", "叛", "蝕", "奧", "鳴", "嶺", "羊", "憑",
15587"串", "塘", "繪", "酵", "融", "盆", "錫", "廟", "籌", "凍",
15588"輔", "攝", "襲", "筋", "拒", "僚", "旱", "鉀", "鳥", "漆",
15589"沈", "眉", "疏", "添", "棒", "穗", "硝", "韓", "逼", "扭",
15590"僑", "涼", "挺", "碗", "栽", "炒", "杯", "患", "餾", "勸",
15591"豪", "遼", "勃", "鴻", "旦", "吏", "拜", "狗", "埋", "輥",
15592"掩", "飲", "搬", "罵", "辭", "勾", "扣", "估", "蔣", "絨",
15593"霧", "丈", "朵", "姆", "擬", "宇", "輯", "陝", "雕", "償",
15594"蓄", "崇", "剪", "倡", "廳", "咬", "駛", "薯", "刷", "斥",
15595"番", "賦", "奉", "佛", "澆", "漫", "曼", "扇", "鈣", "桃",
15596"扶", "仔", "返", "俗", "虧", "腔", "鞋", "棱", "覆", "框",
15597"悄", "叔", "撞", "騙", "勘", "旺", "沸", "孤", "吐", "孟",
15598"渠", "屈", "疾", "妙", "惜", "仰", "狠", "脹", "諧", "拋",
15599"黴", "桑", "崗", "嘛", "衰", "盜", "滲", "臟", "賴", "湧",
15600"甜", "曹", "閱", "肌", "哩", "厲", "烴", "緯", "毅", "昨",
15601"偽", "症", "煮", "嘆", "釘", "搭", "莖", "籠", "酷", "偷",
15602"弓", "錐", "恆", "傑", "坑", "鼻", "翼", "綸", "敘", "獄",
15603"逮", "罐", "絡", "棚", "抑", "膨", "蔬", "寺", "驟", "穆",
15604"冶", "枯", "冊", "屍", "凸", "紳", "坯", "犧", "焰", "轟",
15605"欣", "晉", "瘦", "禦", "錠", "錦", "喪", "旬", "鍛", "壟",
15606"搜", "撲", "邀", "亭", "酯", "邁", "舒", "脆", "酶", "閒",
15607"憂", "酚", "頑", "羽", "漲", "卸", "仗", "陪", "闢", "懲",
15608"杭", "姚", "肚", "捉", "飄", "漂", "昆", "欺", "吾", "郎",
15609"烷", "汁", "呵", "飾", "蕭", "雅", "郵", "遷", "燕", "撒",
15610"姻", "赴", "宴", "煩", "債", "帳", "斑", "鈴", "旨", "醇",
15611"董", "餅", "雛", "姿", "拌", "傅", "腹", "妥", "揉", "賢",
15612"拆", "歪", "葡", "胺", "丟", "浩", "徽", "昂", "墊", "擋",
15613"覽", "貪", "慰", "繳", "汪", "慌", "馮", "諾", "姜", "誼",
15614"兇", "劣", "誣", "耀", "昏", "躺", "盈", "騎", "喬", "溪",
15615"叢", "盧", "抹", "悶", "諮", "刮", "駕", "纜", "悟", "摘",
15616"鉺", "擲", "頗", "幻", "柄", "惠", "慘", "佳", "仇", "臘",
15617"窩", "滌", "劍", "瞧", "堡", "潑", "蔥", "罩", "霍", "撈",
15618"胎", "蒼", "濱", "倆", "捅", "湘", "砍", "霞", "邵", "萄",
15619"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
15620"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
15621"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
15622"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
15623"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
15624"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
15625</script>
15626 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15627WORDLISTS["french"] = [
15628"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
15629"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
15630"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
15631"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
15632"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
15633"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
15634"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
15635"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
15636"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
15637"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
15638"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
15639"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
15640"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
15641"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
15642"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
15643"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
15644"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
15645"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
15646"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
15647"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
15648"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
15649"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
15650"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
15651"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
15652"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
15653"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
15654"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
15655"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
15656"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
15657"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
15658"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
15659"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
15660"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
15661"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
15662"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
15663"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
15664"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
15665"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
15666"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
15667"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
15668"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
15669"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
15670"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
15671"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
15672"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
15673"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
15674"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
15675"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
15676"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
15677"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
15678"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
15679"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
15680"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
15681"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
15682"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
15683"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
15684"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
15685"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
15686"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
15687"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
15688"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
15689"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
15690"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
15691"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
15692"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
15693"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
15694"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
15695"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
15696"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
15697"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
15698"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
15699"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
15700"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
15701"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
15702"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
15703"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
15704"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
15705"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
15706"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
15707"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
15708"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
15709"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
15710"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
15711"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
15712"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
15713"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
15714"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
15715"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
15716"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
15717"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
15718"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
15719"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
15720"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
15721"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
15722"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
15723"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
15724"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
15725"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
15726"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
15727"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
15728"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
15729"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
15730"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
15731"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
15732"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
15733"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
15734"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
15735"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
15736"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
15737"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
15738"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
15739"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
15740"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
15741"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
15742"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
15743"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
15744"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
15745"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
15746"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
15747"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
15748"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
15749"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
15750"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
15751"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
15752"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
15753"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
15754"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
15755"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
15756"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
15757"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
15758"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
15759"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
15760"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
15761"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
15762"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
15763"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
15764"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
15765"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
15766"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
15767"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
15768"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
15769"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
15770"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
15771"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
15772"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
15773"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
15774"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
15775"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
15776"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
15777"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
15778"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
15779"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
15780"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
15781"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
15782"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
15783"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
15784"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
15785"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
15786"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
15787"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
15788"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
15789"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
15790"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
15791"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
15792"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
15793"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
15794"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
15795"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
15796"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
15797"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
15798"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
15799"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
15800"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
15801"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
15802"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
15803"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
15804"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
15805"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
15806"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
15807"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
15808"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
15809"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
15810"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
15811"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
15812"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
15813"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
15814"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
15815"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
15816"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
15817"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
15818"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
15819"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
15820"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
15821"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
15822"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
15823"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
15824"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
15825"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
15826"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
15827"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
15828"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
15829"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
15830"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
15831"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
15832"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
15833</script>
15834 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15835WORDLISTS["italian"] = [
15836"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
15837"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
15838"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
15839"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
15840"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
15841"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
15842"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
15843"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
15844"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
15845"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
15846"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
15847"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
15848"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
15849"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
15850"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
15851"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
15852"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
15853"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
15854"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
15855"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
15856"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
15857"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
15858"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
15859"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
15860"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
15861"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
15862"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
15863"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
15864"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
15865"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
15866"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
15867"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
15868"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
15869"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
15870"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
15871"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
15872"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
15873"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
15874"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
15875"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
15876"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
15877"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
15878"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
15879"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
15880"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
15881"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
15882"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
15883"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
15884"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
15885"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
15886"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
15887"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
15888"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
15889"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
15890"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
15891"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
15892"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
15893"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
15894"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
15895"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
15896"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
15897"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
15898"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
15899"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
15900"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
15901"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
15902"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
15903"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
15904"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
15905"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
15906"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
15907"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
15908"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
15909"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
15910"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
15911"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
15912"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
15913"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
15914"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
15915"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
15916"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
15917"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
15918"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
15919"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
15920"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
15921"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
15922"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
15923"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
15924"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
15925"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
15926"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
15927"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
15928"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
15929"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
15930"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
15931"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
15932"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
15933"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
15934"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
15935"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
15936"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
15937"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
15938"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
15939"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
15940"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
15941"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
15942"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
15943"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
15944"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
15945"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
15946"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
15947"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
15948"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
15949"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
15950"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
15951"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
15952"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
15953"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
15954"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
15955"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
15956"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
15957"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
15958"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
15959"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
15960"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
15961"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
15962"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
15963"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
15964"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
15965"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
15966"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
15967"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
15968"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
15969"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
15970"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
15971"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
15972"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
15973"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
15974"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
15975"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
15976"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
15977"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
15978"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
15979"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
15980"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
15981"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
15982"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
15983"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
15984"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
15985"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
15986"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
15987"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
15988"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
15989"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
15990"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
15991"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
15992"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
15993"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
15994"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
15995"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
15996"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
15997"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
15998"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
15999"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16000"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16001"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16002"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16003"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16004"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16005"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16006"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16007"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16008"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16009"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16010"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16011"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16012"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16013"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16014"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16015"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16016"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16017"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16018"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16019"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16020"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16021"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16022"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16023"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16024"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16025"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16026"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16027"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16028"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16029"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16030"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16031"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16032"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16033"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16034"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16035"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16036"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16037"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16038"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16039"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16040"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16041</script>
ab78acc6 16042 <script>/*
3af2954a
IC
16043 * Copyright (c) 2013 Pavol Rusnak
16044 *
16045 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16046 * this software and associated documentation files (the "Software"), to deal in
16047 * the Software without restriction, including without limitation the rights to
16048 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16049 * of the Software, and to permit persons to whom the Software is furnished to do
16050 * so, subject to the following conditions:
16051 *
16052 * The above copyright notice and this permission notice shall be included in all
16053 * copies or substantial portions of the Software.
16054 *
16055 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16056 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16057 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16058 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16059 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16060 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16061 */
16062
16063/*
16064 * Javascript port from python by Ian Coleman
16065 *
80c4dd2a
IC
16066 * Requires code from sjcl
16067 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16068 */
16069
16070var Mnemonic = function(language) {
16071
16072 var PBKDF2_ROUNDS = 2048;
16073 var RADIX = 2048;
16074
16075 var self = this;
16076 var wordlist = [];
16077
80c4dd2a
IC
16078 var hmacSHA512 = function(key) {
16079 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16080 this.encrypt = function() {
16081 return hasher.encrypt.apply(hasher, arguments);
16082 };
16083 };
16084
3af2954a
IC
16085 function init() {
16086 wordlist = WORDLISTS[language];
16087 if (wordlist.length != RADIX) {
16088 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16089 throw err;
16090 }
16091 }
16092
16093 self.generate = function(strength) {
16094 strength = strength || 128;
16095 var r = strength % 32;
16096 if (r > 0) {
16097 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16098 }
16099 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16100 if (!hasStrongCrypto) {
16101 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16102 }
16103 var buffer = new Uint8Array(strength / 8);
16104 var data = crypto.getRandomValues(buffer);
16105 return self.toMnemonic(data);
16106 }
16107
80c4dd2a
IC
16108 self.toMnemonic = function(byteArray) {
16109 if (byteArray.length % 4 > 0) {
16110 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16111 }
16112
16113 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16114 var data = byteArrayToWordArray(byteArray);
16115 var hash = sjcl.hash.sha256.hash(data);
16116 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16117
16118 // b is a binary string, eg '00111010101100...'
16119 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16120 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16121 //
16122 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16123 // c = bin(int(h, 16))[2:].zfill(256)
16124 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16125 var a = byteArrayToBinaryString(byteArray);
16126 var c = zfill(hexStringToBinaryString(h), 256);
16127 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16128 // b = line1 + line2
16129 var b = a + d;
16130
16131 var result = [];
16132 var blen = b.length / 11;
16133 for (var i=0; i<blen; i++) {
16134 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16135 result.push(wordlist[idx]);
16136 }
0515eeec 16137 return self.joinWords(result);
3af2954a
IC
16138 }
16139
16140 self.check = function(mnemonic) {
0515eeec 16141 var mnemonic = self.splitWords(mnemonic);
18abe53b 16142 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16143 return false
16144 }
16145 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16146 var idx = [];
16147 for (var i=0; i<mnemonic.length; i++) {
16148 var word = mnemonic[i];
16149 var wordIndex = wordlist.indexOf(word);
16150 if (wordIndex == -1) {
16151 return false;
16152 }
16153 var binaryIndex = zfill(wordIndex.toString(2), 11);
16154 idx.push(binaryIndex);
16155 }
16156 var b = idx.join('');
16157 var l = b.length;
16158 //d = b[:l / 33 * 32]
16159 //h = b[-l / 33:]
16160 var d = b.substring(0, l / 33 * 32);
16161 var h = b.substring(l - l / 33, l);
16162 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16163 var nd = binaryStringToWordArray(d);
3af2954a 16164 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16165 var ndHash = sjcl.hash.sha256.hash(nd);
16166 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16167 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16168 var nh = ndBstr.substring(0,l/33);
16169 return h == nh;
16170 }
16171
16172 self.toSeed = function(mnemonic, passphrase) {
16173 passphrase = passphrase || '';
0515eeec 16174 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16175 passphrase = self.normalizeString(passphrase)
16176 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16177 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16178 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16179 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16180 var hashHex = sjcl.codec.hex.fromBits(result);
16181 return hashHex;
3af2954a
IC
16182 }
16183
0515eeec
IC
16184 self.splitWords = function(mnemonic) {
16185 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16186 }
16187
16188 self.joinWords = function(words) {
16189 // Set space correctly depending on the language
16190 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16191 var space = " ";
16192 if (language == "japanese") {
16193 space = "\u3000"; // ideographic space
16194 }
16195 return words.join(space);
16196 }
16197
3af2954a
IC
16198 self.normalizeString = function(str) {
16199 if (typeof str.normalize == "function") {
16200 return str.normalize("NFKD");
16201 }
16202 else {
16203 // TODO decide how to handle this in the future.
16204 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16205 return str;
16206 }
16207 }
16208
80c4dd2a
IC
16209 function byteArrayToWordArray(data) {
16210 var a = [];
16211 for (var i=0; i<data.length/4; i++) {
16212 v = 0;
16213 v += data[i*4 + 0] << 8 * 3;
16214 v += data[i*4 + 1] << 8 * 2;
16215 v += data[i*4 + 2] << 8 * 1;
16216 v += data[i*4 + 3] << 8 * 0;
16217 a.push(v);
16218 }
16219 return a;
16220 }
16221
3af2954a
IC
16222 function byteArrayToBinaryString(data) {
16223 var bin = "";
16224 for (var i=0; i<data.length; i++) {
16225 bin += zfill(data[i].toString(2), 8);
16226 }
16227 return bin;
16228 }
16229
80c4dd2a
IC
16230 function hexStringToBinaryString(hexString) {
16231 binaryString = "";
16232 for (var i=0; i<hexString.length; i++) {
16233 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16234 }
16235 return binaryString;
16236 }
16237
16238 function binaryStringToWordArray(binary) {
16239 var aLen = binary.length / 32;
16240 var a = [];
16241 for (var i=0; i<aLen; i++) {
16242 var valueStr = binary.substring(0,32);
3af2954a 16243 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16244 a.push(value);
16245 binary = binary.slice(32);
3af2954a 16246 }
80c4dd2a 16247 return a;
3af2954a
IC
16248 }
16249
16250 // Pad a numeric string on the left with zero digits until the given width
16251 // is reached.
16252 // Note this differs to the python implementation because it does not
16253 // handle numbers starting with a sign.
16254 function zfill(source, length) {
16255 source = source.toString();
16256 while (source.length < length) {
16257 source = '0' + source;
16258 }
16259 return source;
16260 }
16261
16262 init();
ebd8d4e8 16263
3af2954a 16264}
dc55c6b0 16265</script>
18abe53b
IC
16266 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.zxcvbn = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
16267var adjacency_graphs;adjacency_graphs={qwerty:{"!":["`~",null,null,"2@","qQ",null],'"':[";:","[{","]}",null,null,"/?"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"&":["6^",null,null,"8*","uU","yY"],"'":[";:","[{","]}",null,null,"/?"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"*":["7&",null,null,"9(","iI","uU"],"+":["-_",null,null,null,"]}","[{"],",":["mM","kK","lL",".>",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":["lL","pP","[{","'\"","/?",".>"],";":["lL","pP","[{","'\"","/?",".>"],"<":["mM","kK","lL",".>",null,null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:["sS","eE","rR","fF","cC","xX"],E:["wW","3#","4$","rR","dD","sS"],F:["dD","rR","tT","gG","vV","cC"],G:["fF","tT","yY","hH","bB","vV"],H:["gG","yY","uU","jJ","nN","bB"],I:["uU","8*","9(","oO","kK","jJ"],J:["hH","uU","iI","kK","mM","nN"],K:["jJ","iI","oO","lL",",<","mM"],L:["kK","oO","pP",";:",".>",",<"],M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:["iI","9(","0)","pP","lL","kK"],P:["oO","0)","-_","[{",";:","lL"],Q:[null,"1!","2@","wW","aA",null],R:["eE","4$","5%","tT","fF","dD"],S:["aA","wW","eE","dD","xX","zZ"],T:["rR","5%","6^","yY","gG","fF"],U:["yY","7&","8*","iI","jJ","hH"],V:["cC","fF","gG","bB",null,null],W:["qQ","2@","3#","eE","sS","aA"],X:["zZ","sS","dD","cC",null,null],Y:["tT","6^","7&","uU","hH","gG"],Z:[null,"aA","sS","xX",null,null],"[":["pP","-_","=+","]}","'\"",";:"],"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:["sS","eE","rR","fF","cC","xX"],e:["wW","3#","4$","rR","dD","sS"],f:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],i:["uU","8*","9(","oO","kK","jJ"],j:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],q:[null,"1!","2@","wW","aA",null],r:["eE","4$","5%","tT","fF","dD"],s:["aA","wW","eE","dD","xX","zZ"],t:["rR","5%","6^","yY","gG","fF"],u:["yY","7&","8*","iI","jJ","hH"],v:["cC","fF","gG","bB",null,null],w:["qQ","2@","3#","eE","sS","aA"],x:["zZ","sS","dD","cC",null,null],y:["tT","6^","7&","uU","hH","gG"],z:[null,"aA","sS","xX",null,null],"{":["pP","-_","=+","]}","'\"",";:"],"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*","gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":["'\"","2@","3#",".>","oO","aA"],"-":["sS","/?","=+",null,null,"zZ"],".":[",<","3#","4$","pP","eE","oO"],"/":["lL","[{","]}","=+","-_","sS"],0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":["'\"","2@","3#",".>","oO","aA"],"=":["/?","]}",null,"\\|",null,"-_"],">":[",<","3#","4$","pP","eE","oO"],"?":["lL","[{","]}","=+","-_","sS"],"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:["gG","8*","9(","rR","tT","hH"],D:["iI","fF","gG","hH","bB","xX"],E:["oO",".>","pP","uU","jJ","qQ"],F:["yY","6^","7&","gG","dD","iI"],G:["fF","7&","8*","cC","hH","dD"],H:["dD","gG","cC","tT","mM","bB"],I:["uU","yY","fF","dD","xX","kK"],J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:["rR","0)","[{","/?","sS","nN"],M:["bB","hH","tT","wW",null,null],N:["tT","rR","lL","sS","vV","wW"],O:["aA",",<",".>","eE","qQ",";:"],P:[".>","4$","5%","yY","uU","eE"],Q:[";:","oO","eE","jJ",null,null],R:["cC","9(","0)","lL","nN","tT"],S:["nN","lL","/?","-_","zZ","vV"],T:["hH","cC","rR","nN","wW","mM"],U:["eE","pP","yY","iI","kK","jJ"],V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:["pP","5%","6^","fF","iI","uU"],Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH","mM",null,null],c:["gG","8*","9(","rR","tT","hH"],d:["iI","fF","gG","hH","bB","xX"],e:["oO",".>","pP","uU","jJ","qQ"],f:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],h:["dD","gG","cC","tT","mM","bB"],i:["uU","yY","fF","dD","xX","kK"],j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:["rR","0)","[{","/?","sS","nN"],m:["bB","hH","tT","wW",null,null],n:["tT","rR","lL","sS","vV","wW"],o:["aA",",<",".>","eE","qQ",";:"],p:[".>","4$","5%","yY","uU","eE"],q:[";:","oO","eE","jJ",null,null],r:["cC","9(","0)","lL","nN","tT"],s:["nN","lL","/?","-_","zZ","vV"],t:["hH","cC","rR","nN","wW","mM"],u:["eE","pP","yY","iI","kK","jJ"],v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:["pP","5%","6^","fF","iI","uU"],z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:{"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},mac_keypad:{"*":["/",null,null,null,null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"]}},module.exports=adjacency_graphs;
16268
16269},{}],2:[function(require,module,exports){
16270var feedback,scoring;scoring=require("./scoring"),feedback={default_feedback:{warning:"",suggestions:["Use a few words, avoid common phrases","No need for symbols, digits, or uppercase letters"]},get_feedback:function(e,s){var a,t,r,n,o,i;if(0===s.length)return this.default_feedback;if(e>2)return{warning:"",suggestions:[]};for(n=s[0],i=s.slice(1),t=0,r=i.length;t<r;t++)o=i[t],o.token.length>n.token.length&&(n=o);return feedback=this.get_match_feedback(n,1===s.length),a="Add another word or two. Uncommon words are better.",null!=feedback?(feedback.suggestions.unshift(a),null==feedback.warning&&(feedback.warning="")):feedback={warning:"",suggestions:[a]},feedback},get_match_feedback:function(e,s){var a,t;switch(e.pattern){case"dictionary":return this.get_dictionary_match_feedback(e,s);case"spatial":return a=e.graph.toUpperCase(),t=1===e.turns?"Straight rows of keys are easy to guess":"Short keyboard patterns are easy to guess",{warning:t,suggestions:["Use a longer keyboard pattern with more turns"]};case"repeat":return t=1===e.base_token.length?'Repeats like "aaa" are easy to guess':'Repeats like "abcabcabc" are only slightly harder to guess than "abc"',{warning:t,suggestions:["Avoid repeated words and characters"]};case"sequence":return{warning:"Sequences like abc or 6543 are easy to guess",suggestions:["Avoid sequences"]};case"regex":if("recent_year"===e.regex_name)return{warning:"Recent years are easy to guess",suggestions:["Avoid recent years","Avoid years that are associated with you"]};break;case"date":return{warning:"Dates are often easy to guess",suggestions:["Avoid dates and years that are associated with you"]}}},get_dictionary_match_feedback:function(e,s){var a,t,r,n,o;return n="passwords"===e.dictionary_name?!s||e.l33t||e.reversed?e.guesses_log10<=4?"This is similar to a commonly used password":void 0:e.rank<=10?"This is a top-10 common password":e.rank<=100?"This is a top-100 common password":"This is a very common password":"english"===e.dictionary_name?s?"A word by itself is easy to guess":void 0:"surnames"===(a=e.dictionary_name)||"male_names"===a||"female_names"===a?s?"Names and surnames by themselves are easy to guess":"Common names and surnames are easy to guess":"",r=[],o=e.token,o.match(scoring.START_UPPER)?r.push("Capitalization doesn't help very much"):o.match(scoring.ALL_UPPER)&&o.toLowerCase()!==o&&r.push("All-uppercase is almost as easy to guess as all-lowercase"),e.reversed&&e.token.length>=4&&r.push("Reversed words aren't much harder to guess"),e.l33t&&r.push("Predictable substitutions like '@' instead of 'a' don't help very much"),t={warning:n,suggestions:r}}},module.exports=feedback;
c6624d51 16271
18abe53b
IC
16272},{"./scoring":6}],3:[function(require,module,exports){
16273var frequency_lists;frequency_lists={passwords:"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,654321,1qaz2wsx,7777777,fuckyou,qazwsx,jordan,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,batman,soccer,tigger,charlie,sunshine,iloveyou,fuckme,ranger,hockey,computer,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,maggie,pass,ginger,11111111,131313,fuck,love,cheese,159753,summer,chelsea,dallas,biteme,matrix,yankees,6969,corvette,austin,access,thunder,merlin,secret,diamond,hello,hammer,fucker,1234qwer,silver,gfhjkm,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,sparky,phoenix,mickey,bigdog,snoopy,guitar,whatever,chicken,camaro,mercedes,peanut,ferrari,falcon,cowboy,welcome,sexy,samsung,steelers,smokey,dakota,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,yellow,porsche,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,tennis,q1w2e3r4,coffee,scooby,123654,nikita,yamaha,mother,barney,brandy,chester,fuckoff,oliver,player,forever,rangers,midnight,chicago,bigdaddy,redsox,angel,badboy,fender,jasper,slayer,rabbit,natasha,marine,bigdick,wizard,marlboro,raiders,prince,casper,fishing,flower,jasmine,iwantu,panties,adidas,winter,winner,gandalf,password1,enter,ghbdtn,1q2w3e4r,golden,cocacola,jordan23,winston,madison,angels,panther,blowme,sexsex,bigtits,spanky,bitch,sophie,asdfasdf,horny,thx1138,toyota,tiger,dick,canada,12344321,blowjob,8675309,muffin,liverpoo,apples,qwerty123,passw0rd,abcd1234,pokemon,123abc,slipknot,qazxsw,123456a,scorpion,qwaszx,butter,startrek,rainbow,asdfghjkl,razz,newyork,redskins,gemini,cameron,qazwsxedc,florida,liverpool,turtle,sierra,viking,booger,butthead,doctor,rocket,159357,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,dolphin,helpme,blue,theman,maxwell,qwertyui,shithead,lovers,maddog,giants,nirvana,metallic,hotdog,rosebud,mountain,warrior,stupid,elephant,suckit,success,bond007,jackass,alexis,porn,lucky,scorpio,samson,q1w2e3,azerty,rush2112,driver,freddy,1q2w3e4r5t,sydney,gators,dexter,red123,123456q,12345a,bubba,creative,voodoo,golf,trouble,america,nissan,gunner,garfield,bullshit,asdfghjk,5150,fucking,apollo,1qazxsw2,2112,eminem,legend,airborne,bear,beavis,apple,brooklyn,godzilla,skippy,4815162342,buddy,qwert,kitten,magic,shelby,beaver,phantom,asdasd,xavier,braves,darkness,blink182,copper,platinum,qweqwe,tomcat,01012011,girls,bigboy,102030,animal,police,online,11223344,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,blazer,heaven,lover,snowball,playboy,loveme,bubbles,hooters,cricket,willow,donkey,topgun,nintendo,saturn,destiny,pakistan,pumpkin,digital,sergey,redwings,explorer,tits,private,runner,therock,guinness,lasvegas,beatles,789456123,fire,cassie,christin,qwerty1,celtic,asdf1234,andrey,broncos,007007,babygirl,eclipse,fluffy,cartman,michigan,carolina,testing,alexande,birdie,pantera,cherry,vampire,mexico,dickhead,buffalo,genius,montana,beer,minecraft,maximus,flyers,lovely,stalker,metallica,doggie,snickers,speedy,bronco,lol123,paradise,yankee,horses,magnum,dreams,147258369,lacrosse,ou812,goober,enigma,qwertyu,scotty,pimpin,bollocks,surfer,cock,poohbear,genesis,star,asd123,qweasdzxc,racing,hello1,hawaii,eagle1,viper,poopoo,einstein,boobies,12345q,bitches,drowssap,simple,badger,alaska,action,jester,drummer,111222,spitfire,forest,maryjane,champion,diesel,svetlana,friday,hotrod,147258,chevy,lucky1,westside,security,google,badass,tester,shorty,thumper,hitman,mozart,zaq12wsx,boobs,reddog,010203,lizard,a123456,123456789a,ruslan,eagle,1232323q,scarface,qwerty12,147852,a12345,buddha,porno,420420,spirit,money1,stargate,qwe123,naruto,mercury,liberty,12345qwert,semperfi,suzuki,popcorn,spooky,marley,scotland,kitty,cherokee,vikings,simpsons,rascal,qweasd,hummer,loveyou,michael1,patches,russia,jupiter,penguin,passion,cumshot,vfhbyf,honda,vladimir,sandman,passport,raider,bastard,123789,infinity,assman,bulldogs,fantasy,sucker,1234554321,horney,domino,budlight,disney,ironman,usuckballz1,softball,brutus,redrum,bigred,mnbvcxz,fktrcfylh,karina,marines,digger,kawasaki,cougar,fireman,oksana,monday,cunt,justice,nigger,super,wildcats,tinker,logitech,dancer,swordfis,avalon,everton,alexandr,motorola,patriots,hentai,madonna,pussy1,ducati,colorado,connor,juventus,galore,smooth,freeuser,warcraft,boogie,titanic,wolverin,elizabet,arizona,valentin,saints,asdfg,accord,test123,password123,christ,yfnfif,stinky,slut,spiderma,naughty,chopper,hello123,ncc1701d,extreme,skyline,poop,zombie,pearljam,123qweasd,froggy,awesome,vision,pirate,fylhtq,dreamer,bullet,predator,empire,123123a,kirill,charlie1,panthers,penis,skipper,nemesis,rasdzv3,peekaboo,rolltide,cardinal,psycho,danger,mookie,happy1,wanker,chevelle,manutd,goblue,9379992,hobbes,vegeta,fyfcnfcbz,852456,picard,159951,windows,loverboy,victory,vfrcbv,bambam,serega,123654789,turkey,tweety,galina,hiphop,rooster,changeme,berlin,taurus,suckme,polina,electric,avatar,134679,maksim,raptor,alpha1,hendrix,newport,bigcock,brazil,spring,a1b2c3,madmax,alpha,britney,sublime,darkside,bigman,wolfpack,classic,hercules,ronaldo,letmein1,1q2w3e,741852963,spiderman,blizzard,123456789q,cheyenne,cjkysirj,tiger1,wombat,bubba1,pandora,zxc123,holiday,wildcat,devils,horse,alabama,147852369,caesar,12312,buddy1,bondage,pussycat,pickle,shaggy,catch22,leather,chronic,a1b2c3d4,admin,qqq111,qaz123,airplane,kodiak,freepass,billybob,sunset,katana,phpbb,chocolat,snowman,angel1,stingray,firebird,wolves,zeppelin,detroit,pontiac,gundam,panzer,vagina,outlaw,redhead,tarheels,greenday,nastya,01011980,hardon,engineer,dragon1,hellfire,serenity,cobra,fireball,lickme,darkstar,1029384756,01011,mustang1,flash,124578,strike,beauty,pavilion,01012000,bobafett,dbrnjhbz,bigmac,bowling,chris1,ytrewq,natali,pyramid,rulez,welcome1,dodgers,apache,swimming,whynot,teens,trooper,fuckit,defender,precious,135790,packard,weasel,popeye,lucifer,cancer,icecream,142536,raven,swordfish,presario,viktor,rockstar,blonde,james1,wutang,spike,pimp,atlanta,airforce,thailand,casino,lennon,mouse,741852,hacker,bluebird,hawkeye,456123,theone,catfish,sailor,goldfish,nfnmzyf,tattoo,pervert,barbie,maxima,nipples,machine,trucks,wrangler,rocks,tornado,lights,cadillac,bubble,pegasus,madman,longhorn,browns,target,666999,eatme,qazwsx123,microsoft,dilbert,christia,baller,lesbian,shooter,xfiles,seattle,qazqaz,cthutq,amateur,prelude,corona,freaky,malibu,123qweasdzxc,assassin,246810,atlantis,integra,pussies,iloveu,lonewolf,dragons,monkey1,unicorn,software,bobcat,stealth,peewee,openup,753951,srinivas,zaqwsx,valentina,shotgun,trigger,veronika,bruins,coyote,babydoll,joker,dollar,lestat,rocky1,hottie,random,butterfly,wordpass,smiley,sweety,snake,chipper,woody,samurai,devildog,gizmo,maddie,soso123aljg,mistress,freedom1,flipper,express,hjvfirf,moose,cessna,piglet,polaris,teacher,montreal,cookies,wolfgang,scully,fatboy,wicked,balls,tickle,bunny,dfvgbh,foobar,transam,pepsi,fetish,oicu812,basketba,toshiba,hotstuff,sunday,booty,gambit,31415926,impala,stephani,jessica1,hooker,lancer,knicks,shamrock,fuckyou2,stinger,314159,redneck,deftones,squirt,siemens,blaster,trucker,subaru,renegade,ibanez,manson,swinger,reaper,blondie,mylove,galaxy,blahblah,enterpri,travel,1234abcd,babylon5,indiana,skeeter,master1,sugar,ficken,smoke,bigone,sweetpea,fucked,trfnthbyf,marino,escort,smitty,bigfoot,babes,larisa,trumpet,spartan,valera,babylon,asdfghj,yankees1,bigboobs,stormy,mister,hamlet,aardvark,butterfl,marathon,paladin,cavalier,manchester,skater,indigo,hornet,buckeyes,01011990,indians,karate,hesoyam,toronto,diamonds,chiefs,buckeye,1qaz2wsx3edc,highland,hotsex,charger,redman,passwor,maiden,drpepper,storm,pornstar,garden,12345678910,pencil,sherlock,timber,thuglife,insane,pizza,jungle,jesus1,aragorn,1a2b3c,hamster,david1,triumph,techno,lollol,pioneer,catdog,321654,fktrctq,morpheus,141627,pascal,shadow1,hobbit,wetpussy,erotic,consumer,blabla,justme,stones,chrissy,spartak,goforit,burger,pitbull,adgjmptw,italia,barcelona,hunting,colors,kissme,virgin,overlord,pebbles,sundance,emerald,doggy,racecar,irina,element,1478963,zipper,alpine,basket,goddess,poison,nipple,sakura,chichi,huskers,13579,pussys,q12345,ultimate,ncc1701e,blackie,nicola,rommel,matthew1,caserta,omega,geronimo,sammy1,trojan,123qwe123,philips,nugget,tarzan,chicks,aleksandr,bassman,trixie,portugal,anakin,dodger,bomber,superfly,madness,q1w2e3r4t5y6,loser,123asd,fatcat,ybrbnf,soldier,warlock,wrinkle1,desire,sexual,babe,seminole,alejandr,951753,11235813,westham,andrei,concrete,access14,weed,letmein2,ladybug,naked,christop,trombone,tintin,bluesky,rhbcnbyf,qazxswedc,onelove,cdtnkfyf,whore,vfvjxrf,titans,stallion,truck,hansolo,blue22,smiles,beagle,panama,kingkong,flatron,inferno,mongoose,connect,poiuyt,snatch,qawsed,juice,blessed,rocker,snakes,turbo,bluemoon,sex4me,finger,jamaica,a1234567,mulder,beetle,fuckyou1,passat,immortal,plastic,123454321,anthony1,whiskey,dietcoke,suck,spunky,magic1,monitor,cactus,exigen,planet,ripper,teen,spyder,apple1,nolimit,hollywoo,sluts,sticky,trunks,1234321,14789632,pickles,sailing,bonehead,ghbdtnbr,delta,charlott,rubber,911911,112358,molly1,yomama,hongkong,jumper,william1,ilovesex,faster,unreal,cumming,memphis,1123581321,nylons,legion,sebastia,shalom,pentium,geheim,werewolf,funtime,ferret,orion,curious,555666,niners,cantona,sprite,philly,pirates,abgrtyu,lollipop,eternity,boeing,super123,sweets,cooldude,tottenha,green1,jackoff,stocking,7895123,moomoo,martini,biscuit,drizzt,colt45,fossil,makaveli,snapper,satan666,maniac,salmon,patriot,verbatim,nasty,shasta,asdzxc,shaved,blackcat,raistlin,qwerty12345,punkrock,cjkywt,01012010,4128,waterloo,crimson,twister,oxford,musicman,seinfeld,biggie,condor,ravens,megadeth,wolfman,cosmos,sharks,banshee,keeper,foxtrot,gn56gn56,skywalke,velvet,black1,sesame,dogs,squirrel,privet,sunrise,wolverine,sucks,legolas,grendel,ghost,cats,carrot,frosty,lvbnhbq,blades,stardust,frog,qazwsxed,121314,coolio,brownie,groovy,twilight,daytona,vanhalen,pikachu,peanuts,licker,hershey,jericho,intrepid,ninja,1234567a,zaq123,lobster,goblin,punisher,strider,shogun,kansas,amadeus,seven7,jason1,neptune,showtime,muscle,oldman,ekaterina,rfrfirf,getsome,showme,111222333,obiwan,skittles,danni,tanker,maestro,tarheel,anubis,hannibal,anal,newlife,gothic,shark,fighter,blue123,blues,123456z,princes,slick,chaos,thunder1,sabine,1q2w3e4r5t6y,python,test1,mirage,devil,clover,tequila,chelsea1,surfing,delete,potato,chubby,panasonic,sandiego,portland,baggins,fusion,sooners,blackdog,buttons,californ,moscow,playtime,mature,1a2b3c4d,dagger,dima,stimpy,asdf123,gangster,warriors,iverson,chargers,byteme,swallow,liquid,lucky7,dingdong,nymets,cracker,mushroom,456852,crusader,bigguy,miami,dkflbvbh,bugger,nimrod,tazman,stranger,newpass,doodle,powder,gotcha,guardian,dublin,slapshot,septembe,147896325,pepsi1,milano,grizzly,woody1,knights,photos,2468,nookie,charly,rammstein,brasil,123321123,scruffy,munchkin,poopie,123098,kittycat,latino,walnut,1701,thegame,viper1,1passwor,kolobok,picasso,robert1,barcelon,bananas,trance,auburn,coltrane,eatshit,goodluck,starcraft,wheels,parrot,postal,blade,wisdom,pink,gorilla,katerina,pass123,andrew1,shaney14,dumbass,osiris,fuck_inside,oakland,discover,ranger1,spanking,lonestar,bingo,meridian,ping,heather1,dookie,stonecol,megaman,192837465,rjntyjr,ledzep,lowrider,25802580,richard1,firefly,griffey,racerx,paradox,ghjcnj,gangsta,zaq1xsw2,tacobell,weezer,sirius,halflife,buffett,shiloh,123698745,vertigo,sergei,aliens,sobaka,keyboard,kangaroo,sinner,soccer1,0.0.000,bonjour,socrates,chucky,hotboy,sprint,0007,sarah1,scarlet,celica,shazam,formula1,sommer,trebor,qwerasdf,jeep,mailcreated5240,bollox,asshole1,fuckface,honda1,rebels,vacation,lexmark,penguins,12369874,ragnarok,formula,258456,tempest,vfhecz,tacoma,qwertz,colombia,flames,rockon,duck,prodigy,wookie,dodgeram,mustangs,123qaz,sithlord,smoker,server,bang,incubus,scoobydo,oblivion,molson,kitkat,titleist,rescue,zxcv1234,carpet,1122,bigballs,tardis,jimbob,xanadu,blueeyes,shaman,mersedes,pooper,pussy69,golfing,hearts,mallard,12312312,kenwood,patrick1,dogg,cowboys1,oracle,123zxc,nuttertools,102938,topper,1122334455,shemale,sleepy,gremlin,yourmom,123987,gateway1,printer,monkeys,peterpan,mikey,kingston,cooler,analsex,jimbo,pa55word,asterix,freckles,birdman,frank1,defiant,aussie,stud,blondes,tatyana,445566,aspirine,mariners,jackal,deadhead,katrin,anime,rootbeer,frogger,polo,scooter1,hallo,noodles,thomas1,parola,shaolin,celine,11112222,plymouth,creampie,justdoit,ohyeah,fatass,assfuck,amazon,1234567q,kisses,magnus,camel,nopass,bosco,987456,6751520,harley1,putter,champs,massive,spidey,lightnin,camelot,letsgo,gizmodo,aezakmi,bones,caliente,12121,goodtime,thankyou,raiders1,brucelee,redalert,aquarius,456654,catherin,smokin,pooh,mypass,astros,roller,porkchop,sapphire,qwert123,kevin1,a1s2d3f4,beckham,atomic,rusty1,vanilla,qazwsxedcrfv,hunter1,kaktus,cxfcnmt,blacky,753159,elvis1,aggies,blackjac,bangkok,scream,123321q,iforgot,power1,kasper,abc12,buster1,slappy,shitty,veritas,chevrole,amber1,01012001,vader,amsterdam,jammer,primus,spectrum,eduard,granny,horny1,sasha1,clancy,usa123,satan,diamond1,hitler,avenger,1221,spankme,123456qwerty,simba,smudge,scrappy,labrador,john316,syracuse,front242,falcons,husker,candyman,commando,gator,pacman,delta1,pancho,krishna,fatman,clitoris,pineappl,lesbians,8j4ye3uz,barkley,vulcan,punkin,boner,celtics,monopoly,flyboy,romashka,hamburg,123456aa,lick,gangbang,223344,area51,spartans,aaa111,tricky,snuggles,drago,homerun,vectra,homer1,hermes,topcat,cuddles,infiniti,1234567890q,cosworth,goose,phoenix1,killer1,ivanov,bossman,qawsedrf,peugeot,exigent,doberman,durango,brandon1,plumber,telefon,horndog,laguna,rbhbkk,dawg,webmaster,breeze,beast,porsche9,beefcake,leopard,redbull,oscar1,topdog,godsmack,theking,pics,omega1,speaker,viktoria,fuckers,bowler,starbuck,gjkbyf,valhalla,anarchy,blacks,herbie,kingpin,starfish,nokia,loveit,achilles,906090,labtec,ncc1701a,fitness,jordan1,brando,arsenal1,bull,kicker,napass,desert,sailboat,bohica,tractor,hidden,muppet,jackson1,jimmy1,terminator,phillies,pa55w0rd,terror,farside,swingers,legacy,frontier,butthole,doughboy,jrcfyf,tuesday,sabbath,daniel1,nebraska,homers,qwertyuio,azamat,fallen,agent007,striker,camels,iguana,looker,pinkfloy,moloko,qwerty123456,dannyboy,luckydog,789654,pistol,whocares,charmed,skiing,select,franky,puppy,daniil,vladik,vette,vfrcbvrf,ihateyou,nevada,moneys,vkontakte,mandingo,puppies,666777,mystic,zidane,kotenok,dilligaf,budman,bunghole,zvezda,123457,triton,golfball,technics,trojans,panda,laptop,rookie,01011991,15426378,aberdeen,gustav,jethro,enterprise,igor,stripper,filter,hurrican,rfnthbyf,lespaul,gizmo1,butch,132435,dthjybrf,1366613,excalibu,963852,nofear,momoney,possum,cutter,oilers,moocow,cupcake,gbpltw,batman1,splash,svetik,super1,soleil,bogdan,melissa1,vipers,babyboy,tdutybq,lancelot,ccbill,keystone,passwort,flamingo,firefox,dogman,vortex,rebel,noodle,raven1,zaphod,killme,pokemon1,coolman,danila,designer,skinny,kamikaze,deadman,gopher,doobie,warhammer,deeznuts,freaks,engage,chevy1,steve1,apollo13,poncho,hammers,azsxdc,dracula,000007,sassy,bitch1,boots,deskjet,12332,macdaddy,mighty,rangers1,manchest,sterlin,casey1,meatball,mailman,sinatra,cthulhu,summer1,bubbas,cartoon,bicycle,eatpussy,truelove,sentinel,tolkien,breast,capone,lickit,summit,123456k,peter1,daisy1,kitty1,123456789z,crazy1,jamesbon,texas1,sexygirl,362436,sonic,billyboy,redhot,microsof,microlab,daddy1,rockets,iloveyo,fernand,gordon24,danie,cutlass,polska,star69,titties,pantyhos,01011985,thekid,aikido,gofish,mayday,1234qwe,coke,anfield,sony,lansing,smut,scotch,sexx,catman,73501505,hustler,saun,dfkthbz,passwor1,jenny1,azsxdcfv,cheers,irish1,gabrie,tinman,orioles,1225,charlton,fortuna,01011970,airbus,rustam,xtreme,bigmoney,zxcasd,retard,grumpy,huskies,boxing,4runner,kelly1,ultima,warlord,fordf150,oranges,rotten,asdfjkl,superstar,denali,sultan,bikini,saratoga,thor,figaro,sixers,wildfire,vladislav,128500,sparta,mayhem,greenbay,chewie,music1,number1,cancun,fabie,mellon,poiuytrewq,cloud9,crunch,bigtime,chicken1,piccolo,bigbird,321654987,billy1,mojo,01011981,maradona,sandro,chester1,bizkit,rjirfrgbde,789123,rightnow,jasmine1,hyperion,treasure,meatloaf,armani,rovers,jarhead,01011986,cruise,coconut,dragoon,utopia,davids,cosmo,rfhbyf,reebok,1066,charli,giorgi,sticks,sayang,pass1234,exodus,anaconda,zaqxsw,illini,woofwoof,emily1,sandy1,packer,poontang,govols,jedi,tomato,beaner,cooter,creamy,lionking,happy123,albatros,poodle,kenworth,dinosaur,greens,goku,happyday,eeyore,tsunami,cabbage,holyshit,turkey50,memorex,chaser,bogart,orgasm,tommy1,volley,whisper,knopka,ericsson,walleye,321123,pepper1,katie1,chickens,tyler1,corrado,twisted,100000,zorro,clemson,zxcasdqwe,tootsie,milana,zenith,fktrcfylhf,shania,frisco,polniypizdec0211,crazybab,junebug,fugazi,rereirf,vfvekz,1001,sausage,vfczyz,koshka,clapton,justin1,anhyeuem,condom,fubar,hardrock,skywalker,tundra,cocks,gringo,150781,canon,vitalik,aspire,stocks,samsung1,applepie,abc12345,arjay,gandalf1,boob,pillow,sparkle,gmoney,rockhard,lucky13,samiam,everest,hellyeah,bigsexy,skorpion,rfrnec,hedgehog,australi,candle,slacker,dicks,voyeur,jazzman,america1,bobby1,br0d3r,wolfie,vfksirf,1qa2ws3ed,13243546,fright,yosemite,temp,karolina,fart,barsik,surf,cheetah,baddog,deniska,starship,bootie,milena,hithere,kume,greatone,dildo,50cent,0.0.0.000,albion,amanda1,midget,lion,maxell,football1,cyclone,freeporn,nikola,bonsai,kenshin,slider,balloon,roadkill,killbill,222333,jerkoff,78945612,dinamo,tekken,rambler,goliath,cinnamon,malaka,backdoor,fiesta,packers1,rastaman,fletch,sojdlg123aljg,stefano,artemis,calico,nyjets,damnit,robotech,duchess,rctybz,hooter,keywest,18436572,hal9000,mechanic,pingpong,operator,presto,sword,rasputin,spank,bristol,faggot,shado,963852741,amsterda,321456,wibble,carrera,alibaba,majestic,ramses,duster,route66,trident,clipper,steeler,wrestlin,divine,kipper,gotohell,kingfish,snake1,passwords,buttman,pompey,viagra,zxcvbnm1,spurs,332211,slutty,lineage2,oleg,macross,pooter,brian1,qwert1,charles1,slave,jokers,yzerman,swimmer,ne1469,nwo4life,solnce,seamus,lolipop,pupsik,moose1,ivanova,secret1,matador,love69,420247,ktyjxrf,subway,cinder,vermont,pussie,chico,florian,magick,guiness,allsop,ghetto,flash1,a123456789,typhoon,dfkthf,depeche,skydive,dammit,seeker,fuckthis,crysis,kcj9wx5n,umbrella,r2d2c3po,123123q,snoopdog,critter,theboss,ding,162534,splinter,kinky,cyclops,jayhawk,456321,caramel,qwer123,underdog,caveman,onlyme,grapes,feather,hotshot,fuckher,renault,george1,sex123,pippen,000001,789987,floppy,cunts,megapass,1000,pornos,usmc,kickass,great1,quattro,135246,wassup,helloo,p0015123,nicole1,chivas,shannon1,bullseye,java,fishes,blackhaw,jamesbond,tunafish,juggalo,dkflbckfd,123789456,dallas1,translator,122333,beanie,alucard,gfhjkm123,supersta,magicman,ashley1,cohiba,xbox360,caligula,12131415,facial,7753191,dfktynbyf,cobra1,cigars,fang,klingon,bob123,safari,looser,10203,deepthroat,malina,200000,tazmania,gonzo,goalie,jacob1,monaco,cruiser,misfit,vh5150,tommyboy,marino13,yousuck,sharky,vfhufhbnf,horizon,absolut,brighton,123456r,death1,kungfu,maxx,forfun,mamapapa,enter1,budweise,banker,getmoney,kostya,qazwsx12,bigbear,vector,fallout,nudist,gunners,royals,chainsaw,scania,trader,blueboy,walrus,eastside,kahuna,qwerty1234,love123,steph,01011989,cypress,champ,undertaker,ybrjkfq,europa,snowboar,sabres,moneyman,chrisbln,minime,nipper,groucho,whitey,viewsonic,penthous,wolf359,fabric,flounder,coolguy,whitesox,passme,smegma,skidoo,thanatos,fucku2,snapple,dalejr,mondeo,thesims,mybaby,panasoni,sinbad,thecat,topher,frodo,sneakers,q123456,z1x2c3,alfa,chicago1,taylor1,ghjcnjnfr,cat123,olivier,cyber,titanium,0420,madison1,jabroni,dang,hambone,intruder,holly1,gargoyle,sadie1,static,poseidon,studly,newcastl,sexxxx,poppy,johannes,danzig,beastie,musica,buckshot,sunnyday,adonis,bluedog,bonkers,2128506,chrono,compute,spawn,01011988,turbo1,smelly,wapbbs,goldstar,ferrari1,778899,quantum,pisces,boomboom,gunnar,1024,test1234,florida1,nike,superman1,multiplelo,custom,motherlode,1qwerty,westwood,usnavy,apple123,daewoo,korn,stereo,sasuke,sunflowe,watcher,dharma,555777,mouse1,assholes,babyblue,123qwerty,marius,walmart,snoop,starfire,tigger1,paintbal,knickers,aaliyah,lokomotiv,theend,winston1,sapper,rover,erotica,scanner,racer,zeus,sexy69,doogie,bayern,joshua1,newbie,scott1,losers,droopy,outkast,martin1,dodge1,wasser,ufkbyf,rjycnfynby,thirteen,12345z,112211,hotred,deejay,hotpussy,192837,jessic,philippe,scout,panther1,cubbies,havefun,magpie,fghtkm,avalanch,newyork1,pudding,leonid,harry1,cbr600,audia4,bimmer,fucku,01011984,idontknow,vfvfgfgf,1357,aleksey,builder,01011987,zerocool,godfather,mylife,donuts,allmine,redfish,777888,sascha,nitram,bounce,333666,smokes,1x2zkg8w,rodman,stunner,zxasqw12,hoosier,hairy,beretta,insert,123456s,rtyuehe,francesc,tights,cheese1,micron,quartz,hockey1,gegcbr,searay,jewels,bogey,paintball,celeron,padres,bing,syncmaster,ziggy,simon1,beaches,prissy,diehard,orange1,mittens,aleksandra,queens,02071986,biggles,thongs,southpark,artur,twinkle,gretzky,rabota,cambiami,monalisa,gollum,chuckles,spike1,gladiator,whisky,spongebob,sexy1,03082006,mazafaka,meathead,4121,ou8122,barefoot,12345678q,cfitymrf,bigass,a1s2d3,kosmos,blessing,titty,clevelan,terrapin,ginger1,johnboy,maggot,clarinet,deeznutz,336699,stumpy,stoney,footbal,traveler,volvo,bucket,snapon,pianoman,hawkeyes,futbol,casanova,tango,goodboy,scuba,honey1,sexyman,warthog,mustard,abc1234,nickel,10203040,meowmeow,1012,boricua,prophet,sauron,12qwas,reefer,andromeda,crystal1,joker1,90210,goofy,loco,lovesex,triangle,whatsup,mellow,bengals,monster1,maste,01011910,lover1,love1,123aaa,sunshin,smeghead,hokies,sting,welder,rambo,cerberus,bunny1,rockford,monke,1q2w3e4r5,goldwing,gabriell,buzzard,crjhgbjy,james007,rainman,groove,tiberius,purdue,nokia6300,hayabusa,shou,jagger,diver,zigzag,poochie,usarmy,phish,redwood,redwing,12345679,salamander,silver1,abcd123,sputnik,boobie,ripple,eternal,12qw34er,thegreat,allstar,slinky,gesperrt,mishka,whiskers,pinhead,overkill,sweet1,rhfcjnrf,montgom240,sersolution,jamie1,starman,proxy,swords,nikolay,bacardi,rasta,badgirl,rebecca1,wildman,penny1,spaceman,1007,10101,logan1,hacked,bulldog1,helmet,windsor,buffy1,runescape,trapper,123451,banane,dbrnjh,ripken,12345qwe,frisky,shun,fester,oasis,lightning,ib6ub9,cicero,kool,pony,thedog,784512,01011992,megatron,illusion,edward1,napster,11223,squash,roadking,woohoo,19411945,hoosiers,01091989,tracker,bagira,midway,leavemealone,br549,14725836,235689,menace,rachel1,feng,laser,stoned,realmadrid,787898,balloons,tinkerbell,5551212,maria1,pobeda,heineken,sonics,moonlight,optimus,comet,orchid,02071982,jaybird,kashmir,12345678a,chuang,chunky,peach,mortgage,rulezzz,saleen,chuckie,zippy,fishing1,gsxr750,doghouse,maxim,reader,shai,buddah,benfica,chou,salomon,meister,eraser,blackbir,bigmike,starter,pissing,angus,deluxe,eagles1,hardcock,135792468,mian,seahawks,godfathe,bookworm,gregor,intel,talisman,blackjack,babyface,hawaiian,dogfood,zhong,01011975,sancho,ludmila,medusa,mortimer,123456654321,roadrunn,just4me,stalin,01011993,handyman,alphabet,pizzas,calgary,clouds,password2,cgfhnfr,f**k,cubswin,gong,lexus,max123,xxx123,digital1,gfhjkm1,7779311,missy1,michae,beautifu,gator1,1005,pacers,buddie,chinook,heckfy,dutchess,sally1,breasts,beowulf,darkman,jenn,tiffany1,zhei,quan,qazwsx1,satana,shang,idontkno,smiths,puddin,nasty1,teddybea,valkyrie,passwd,chao,boxster,killers,yoda,cheater,inuyasha,beast1,wareagle,foryou,dragonball,mermaid,bhbirf,teddy1,dolphin1,misty1,delphi,gromit,sponge,qazzaq,fytxrf,gameover,diao,sergi,beamer,beemer,kittykat,rancid,manowar,adam12,diggler,assword,austin1,wishbone,gonavy,sparky1,fisting,thedude,sinister,1213,venera,novell,salsero,jayden,fuckoff1,linda1,vedder,02021987,1pussy,redline,lust,jktymrf,02011985,dfcbkbq,dragon12,chrome,gamecube,titten,cong,bella1,leng,02081988,eureka,bitchass,147369,banner,lakota,123321a,mustafa,preacher,hotbox,02041986,z1x2c3v4,playstation,01011977,claymore,electra,checkers,zheng,qing,armagedon,02051986,wrestle,svoboda,bulls,nimbus,alenka,madina,newpass6,onetime,aa123456,bartman,02091987,silverad,electron,12345t,devil666,oliver1,skylar,rhtdtlrj,gobucks,johann,12011987,milkman,02101985,camper,thunderb,bigbutt,jammin,davide,cheeks,goaway,lighter,claudi,thumbs,pissoff,ghostrider,cocaine,teng,squall,lotus,hootie,blackout,doitnow,subzero,02031986,marine1,02021988,pothead,123456qw,skate,1369,peng,antoni,neng,miao,bcfields,1492,marika,794613,musashi,tulips,nong,piao,chai,ruan,southpar,02061985,nude,mandarin,654123,ninjas,cannabis,jetski,xerxes,zhuang,kleopatra,dickie,bilbo,pinky,morgan1,1020,1017,dieter,baseball1,tottenham,quest,yfnfkmz,dirtbike,1234567890a,mango,jackson5,ipswich,iamgod,02011987,tdutybz,modena,qiao,slippery,qweasd123,bluefish,samtron,toon,111333,iscool,02091986,petrov,fuzzy,zhou,1357924680,mollydog,deng,02021986,1236987,pheonix,zhun,ghblehjr,othello,starcraf,000111,sanfran,a11111,cameltoe,badman,vasilisa,jiang,1qaz2ws,luan,sveta,12qw12,akira,chuai,369963,cheech,beatle,pickup,paloma,01011983,caravan,elizaveta,gawker,banzai,pussey,mullet,seng,bingo1,bearcat,flexible,farscape,borussia,zhuai,templar,guitar1,toolman,yfcntymrf,chloe1,xiang,slave1,guai,nuggets,02081984,mantis,slim,scorpio1,fyutkbyf,thedoors,02081987,02061986,123qq123,zappa,fergie,7ugd5hip2j,huai,asdfzxcv,sunflower,pussyman,deadpool,bigtit,01011982,love12,lassie,skyler,gatorade,carpedie,jockey,mancity,spectre,02021984,cameron1,artemka,reng,02031984,iomega,jing,moritz,spice,rhino,spinner,heater,zhai,hover,talon,grease,qiong,corleone,ltybcrf,tian,cowboy1,hippie,chimera,ting,alex123,02021985,mickey1,corsair,sonoma,aaron1,xxxpass,bacchus,webmaste,chuo,xyz123,chrysler,spurs1,artem,shei,cosmic,01020304,deutsch,gabriel1,123455,oceans,987456321,binladen,latinas,a12345678,speedo,buttercu,02081989,21031988,merlot,millwall,ceng,kotaku,jiong,dragonba,2580,stonecold,snuffy,01011999,02011986,hellos,blaze,maggie1,slapper,istanbul,bonjovi,babylove,mazda,bullfrog,phoeni,meng,porsche1,nomore,02061989,bobdylan,capslock,orion1,zaraza,teddybear,ntktajy,myname,rong,wraith,mets,niao,02041984,smokie,chevrolet,dialog,gfhjkmgfhjkm,dotcom,vadim,monarch,athlon,mikey1,hamish,pian,liang,coolness,chui,thoma,ramones,ciccio,chippy,eddie1,house1,ning,marker,cougars,jackpot,barbados,reds,pdtplf,knockers,cobalt,amateurs,dipshit,napoli,kilroy,pulsar,jayhawks,daemon,alexey,weng,shuang,9293709b13,shiner,eldorado,soulmate,mclaren,golfer1,andromed,duan,50spanks,sexyboy,dogshit,02021983,shuo,kakashka,syzygy,111111a,yeahbaby,qiang,netscape,fulham,120676,gooner,zhui,rainbow6,laurent,dog123,halifax,freeway,carlitos,147963,eastwood,microphone,monkey12,1123,persik,coldbeer,geng,nuan,danny1,fgtkmcby,entropy,gadget,just4fun,sophi,baggio,carlito,1234567891,02021989,02041983,specialk,piramida,suan,bigblue,salasana,hopeful,mephisto,bailey1,hack,annie1,generic,violetta,spencer1,arcadia,02051983,hondas,9562876,trainer,jones1,smashing,liao,159632,iceberg,rebel1,snooker,temp123,zang,matteo,fastball,q2w3e4r5,bamboo,fuckyo,shutup,astro,buddyboy,nikitos,redbird,maxxxx,shitface,02031987,kuai,kissmyass,sahara,radiohea,1234asdf,wildcard,maxwell1,patric,plasma,heynow,bruno1,shao,bigfish,misfits,sassy1,sheng,02011988,02081986,testpass,nanook,cygnus,licking,slavik,pringles,xing,1022,ninja1,submit,dundee,tiburon,pinkfloyd,yummy,shuai,guang,chopin,obelix,insomnia,stroker,1a2s3d4f,1223,playboy1,lazarus,jorda,spider1,homerj,sleeper,02041982,darklord,cang,02041988,02041987,tripod,magician,jelly,telephon,15975,vsjasnel12,pasword,iverson3,pavlov,homeboy,gamecock,amigo,brodie,budapest,yjdsqgfhjkm,reckless,02011980,pang,tiger123,2469,mason1,orient,01011979,zong,cdtnbr,maksimka,1011,bushido,taxman,giorgio,sphinx,kazantip,02101984,concorde,verizon,lovebug,georg,sam123,seadoo,qazwsxedc123,jiao,jezebel,pharmacy,abnormal,jellybea,maxime,puffy,islander,bunnies,jiggaman,drakon,010180,pluto,zhjckfd,12365,classics,crusher,mordor,hooligan,strawberry,02081985,scrabble,hawaii50,1224,wg8e3wjf,cthtuf,premium,arrow,123456qwe,mazda626,ramrod,tootie,rhjrjlbk,ghost1,1211,bounty,niang,02071984,goat,killer12,sweetnes,porno1,masamune,426hemi,corolla,mariposa,hjccbz,doomsday,bummer,blue12,zhao,bird33,excalibur,samsun,kirsty,buttfuck,kfhbcf,zhuo,marcello,ozzy,02021982,dynamite,655321,master12,123465,lollypop,stepan,1qa2ws,spiker,goirish,callum,michael2,moonbeam,attila,henry1,lindros,andrea1,sporty,lantern,12365478,nextel,violin,volcom,998877,water1,imation,inspiron,dynamo,citadel,placebo,clowns,tiao,02061988,tripper,dabears,haggis,merlin1,02031985,anthrax,amerika,iloveme,vsegda,burrito,bombers,snowboard,forsaken,katarina,a1a2a3,woofer,tigger2,fullmoon,tiger2,spock,hannah1,snoopy1,sexxxy,sausages,stanislav,cobain,robotics,exotic,green123,mobydick,senators,pumpkins,fergus,asddsa,147741,258852,windsurf,reddevil,vfitymrf,nevermind,nang,woodland,4417,mick,shui,q1q2q3,wingman,69696,superb,zuan,ganesh,pecker,zephyr,anastasiya,icu812,larry1,02081982,broker,zalupa,mihail,vfibyf,dogger,7007,paddle,varvara,schalke,1z2x3c,presiden,yankees2,tuning,poopy,02051982,concord,vanguard,stiffy,rjhjktdf,felix1,wrench,firewall,boxer,bubba69,popper,02011984,temppass,gobears,cuan,tipper,fuckme1,kamila,thong,puss,bigcat,drummer1,02031982,sowhat,digimon,tigers1,rang,jingle,bian,uranus,soprano,mandy1,dusty1,fandango,aloha,pumpkin1,postman,02061980,dogcat,bombay,pussy123,onetwo,highheel,pippo,julie1,laura1,pepito,beng,smokey1,stylus,stratus,reload,duckie,karen1,jimbo1,225588,369258,krusty,snappy,asdf12,electro,111qqq,kuang,fishin,clit,abstr,christma,qqqqq1,1234560,carnage,guyver,boxers,kittens,zeng,1000000,qwerty11,toaster,cramps,yugioh,02061987,icehouse,zxcvbnm123,pineapple,namaste,harrypotter,mygirl,falcon1,earnhard,fender1,spikes,nutmeg,01081989,dogboy,02091983,369852,softail,mypassword,prowler,bigboss,1112,harvest,heng,jubilee,killjoy,basset,keng,zaqxswcde,redsox1,biao,titan,misfit99,robot,wifey,kidrock,02101987,gameboy,enrico,1z2x3c4v,broncos1,arrows,havana,banger,cookie1,chriss,123qw,platypus,cindy1,lumber,pinball,foxy,london1,1023,05051987,02041985,password12,superma,longbow,radiohead,nigga,12051988,spongebo,qwert12345,abrakadabra,dodgers1,02101989,chillin,niceguy,pistons,hookup,santafe,bigben,jets,1013,vikings1,mankind,viktoriya,beardog,hammer1,02071980,reddwarf,magelan,longjohn,jennife,gilles,carmex2,02071987,stasik,bumper,doofus,slamdunk,pixies,garion,steffi,alessandro,beerman,niceass,warrior1,honolulu,134679852,visa,johndeer,mother1,windmill,boozer,oatmeal,aptiva,busty,delight,tasty,slick1,bergkamp,badgers,guitars,puffin,02091981,nikki1,irishman,miller1,zildjian,123000,airwolf,magnet,anai,install,02041981,02061983,astra,romans,megan1,mudvayne,freebird,muscles,dogbert,02091980,02091984,snowflak,01011900,mang,joseph1,nygiants,playstat,junior1,vjcrdf,qwer12,webhompas,giraffe,pelican,jefferso,comanche,bruiser,monkeybo,kjkszpj,123456l,micro,albany,02051987,angel123,epsilon,aladin,death666,hounddog,josephin,altima,chilly,02071988,78945,ultra,02041979,gasman,thisisit,pavel,idunno,kimmie,05051985,paulie,ballin,medion,moondog,manolo,pallmall,climber,fishbone,genesis1,153624,toffee,tbone,clippers,krypton,jerry1,picturs,compass,111111q,02051988,1121,02081977,sairam,getout,333777,cobras,22041987,bigblock,severin,booster,norwich,whiteout,ctrhtn,123456m,02061984,hewlett,shocker,fuckinside,02031981,chase1,white1,versace,123456789s,basebal,iloveyou2,bluebell,08031986,anthon,stubby,foreve,undertak,werder,saiyan,mama123,medic,chipmunk,mike123,mazdarx7,qwe123qwe,bowwow,kjrjvjnbd,celeb,choochoo,demo,lovelife,02051984,colnago,lithium,02051989,15051981,zzzxxx,welcom,anastasi,fidelio,franc,26061987,roadster,stone55,drifter,hookem,hellboy,1234qw,cbr900rr,sinned,good123654,storm1,gypsy,zebra,zachary1,toejam,buceta,02021979,testing1,redfox,lineage,mike1,highbury,koroleva,nathan1,washingt,02061982,02091985,vintage,redbaron,dalshe,mykids,11051987,macbeth,julien,james123,krasotka,111000,10011986,987123,pipeline,tatarin,sensei,codered,komodo,frogman,7894561230,nascar24,juicy,01031988,redrose,mydick,pigeon,tkbpfdtnf,smirnoff,1215,spam,winner1,flyfish,moskva,81fukkc,21031987,olesya,starligh,summer99,13041988,fishhead,freesex,super12,06061986,azazel,scoobydoo,02021981,cabron,yogibear,sheba1,konstantin,tranny,chilli,terminat,ghbywtccf,slowhand,soccer12,cricket1,fuckhead,1002,seagull,achtung,blam,bigbob,bdsm,nostromo,survivor,cnfybckfd,lemonade,boomer1,rainbow1,rober,irinka,cocksuck,peaches1,itsme,sugar1,zodiac,upyours,dinara,135791,sunny1,chiara,johnson1,02041989,solitude,habibi,sushi,markiz,smoke1,rockies,catwoman,johnny1,qwerty7,bearcats,username,01011978,wanderer,ohshit,02101986,sigma,stephen1,paradigm,02011989,flanker,sanity,jsbach,spotty,bologna,fantasia,chevys,borabora,cocker,74108520,123ewq,12021988,01061990,gtnhjdbx,02071981,01011960,sundevil,3000gt,mustang6,gagging,maggi,armstron,yfnfkb,13041987,revolver,02021976,trouble1,madcat,jeremy1,jackass1,volkswag,30051985,corndog,pool6123,marines1,03041991,pizza1,piggy,sissy,02031979,sunfire,angelus,undead,24061986,14061991,wildbill,shinobi,45m2do5bs,123qwer,21011989,cleopatr,lasvega,hornets,amorcit,11081989,coventry,nirvana1,destin,sidekick,20061988,02081983,gbhfvblf,sneaky,bmw325,22021989,nfytxrf,sekret,kalina,zanzibar,hotone,qazws,wasabi,heidi1,highlander,blues1,hitachi,paolo,23041987,slayer1,simba1,02011981,tinkerbe,kieran,01121986,172839,boiler,1125,bluesman,waffle,asdfgh01,threesom,conan,1102,reflex,18011987,nautilus,everlast,fatty,vader1,01071986,cyborg,ghbdtn123,birddog,rubble,02071983,suckers,02021973,skyhawk,12qw12qw,dakota1,joebob,nokia6233,woodie,longdong,lamer,troll,ghjcnjgfhjkm,420000,boating,nitro,armada,messiah,1031,penguin1,02091989,americ,02071989,redeye,asdqwe123,07071987,monty1,goten,spikey,sonata,635241,tokiohotel,sonyericsson,citroen,compaq1,1812,umpire,belmont,jonny,pantera1,nudes,palmtree,14111986,fenway,bighead,razor,gryphon,andyod22,aaaaa1,taco,10031988,enterme,malachi,dogface,reptile,01041985,dindom,handball,marseille,candy1,19101987,torino,tigge,matthias,viewsoni,13031987,stinker,evangelion,24011985,123456123,rampage,sandrine,02081980,thecrow,astral,28041987,sprinter,private1,seabee,shibby,02101988,25081988,fearless,junkie,01091987,aramis,antelope,draven,fuck1,mazda6,eggman,02021990,barselona,buddy123,19061987,fyfnjkbq,nancy1,12121990,10071987,sluggo,kille,hotties,irishka,zxcasdqwe123,shamus,fairlane,honeybee,soccer10,13061986,fantomas,17051988,10051987,20111986,gladiato,karachi,gambler,gordo,01011995,biatch,matthe,25800852,papito,excite,buffalo1,bobdole,cheshire,player1,28021992,thewho,10101986,pinky1,mentor,tomahawk,brown1,03041986,bismillah,bigpoppa,ijrjkfl,01121988,runaway,08121986,skibum,studman,helper,squeak,holycow,manfred,harlem,glock,gideon,987321,14021985,yellow1,wizard1,margarit,success1,medved,sf49ers,lambda,pasadena,johngalt,quasar,1776,02031980,coldplay,amand,playa,bigpimp,04041991,capricorn,elefant,sweetness,bruce1,luca,dominik,10011990,biker,09051945,datsun,elcamino,trinitro,malice,audi,voyager1,02101983,joe123,carpente,spartan1,mario1,glamour,diaper,12121985,22011988,winter1,asimov,callisto,nikolai,pebble,02101981,vendetta,david123,boytoy,11061985,02031989,iloveyou1,stupid1,cayman,casper1,zippo,yamahar1,wildwood,foxylady,calibra,02041980,27061988,dungeon,leedsutd,30041986,11051990,bestbuy,antares,dominion,24680,01061986,skillet,enforcer,derparol,01041988,196969,29071983,f00tball,purple1,mingus,25031987,21031990,remingto,giggles,klaste,3x7pxr,01011994,coolcat,29051989,megane,20031987,02051980,04041988,synergy,0000007,macman,iforget,adgjmp,vjqgfhjkm,28011987,rfvfcenhf,16051989,25121987,16051987,rogue,mamamia,08051990,20091991,1210,carnival,bolitas,paris1,dmitriy,dimas,05051989,papillon,knuckles,29011985,hola,tophat,28021990,100500,cutiepie,devo,415263,ducks,ghjuhfvvf,asdqwe,22021986,freefall,parol,02011983,zarina,buste,vitamin,warez,bigones,17061988,baritone,jamess,twiggy,mischief,bitchy,hetfield,1003,dontknow,grinch,sasha_007,18061990,12031985,12031987,calimero,224466,letmei,15011987,acmilan,alexandre,02031977,08081988,whiteboy,21051991,barney1,02071978,money123,18091985,bigdawg,02031988,cygnusx1,zoloto,31011987,firefigh,blowfish,screamer,lfybbk,20051988,chelse,11121986,01031989,harddick,sexylady,30031988,02041974,auditt,pizdec,kojak,kfgjxrf,20091988,123456ru,wp2003wp,1204,15051990,slugger,kordell1,03031986,swinging,01011974,02071979,rockie,dimples,1234123,1dragon,trucking,rusty2,roger1,marijuana,kerouac,02051978,08031985,paco,thecure,keepout,kernel,noname123,13121985,francisc,bozo,02011982,22071986,02101979,obsidian,12345qw,spud,tabasco,02051985,jaguars,dfktynby,kokomo,popova,notused,sevens,4200,magneto,02051976,roswell,15101986,21101986,lakeside,bigbang,aspen,little1,14021986,loki,suckmydick,strawber,carlos1,nokian73,dirty1,joshu,25091987,16121987,02041975,advent,17011987,slimshady,whistler,10101990,stryker,22031984,15021985,01031985,blueball,26031988,ksusha,bahamut,robocop,w_pass,chris123,impreza,prozac,bookie,bricks,13021990,alice1,cassandr,11111q,john123,4ever,korova,02051973,142857,25041988,paramedi,eclipse1,salope,07091990,1124,darkangel,23021986,999666,nomad,02051981,smackdow,01021990,yoyoma,argentin,moonligh,57chevy,bootys,hardone,capricor,galant,spanker,dkflbr,24111989,magpies,krolik,21051988,cevthrb,cheddar,22041988,bigbooty,scuba1,qwedsa,duffman,bukkake,acura,johncena,sexxy,p@ssw0rd,258369,cherries,12345s,asgard,leopold,fuck123,mopar,lalakers,dogpound,matrix1,crusty,spanner,kestrel,fenris,universa,peachy,assasin,lemmein,eggplant,hejsan,canucks,wendy1,doggy1,aikman,tupac,turnip,godlike,fussball,golden1,19283746,april1,django,petrova,captain1,vincent1,ratman,taekwondo,chocha,serpent,perfect1,capetown,vampir,amore,gymnast,timeout,nbvjatq,blue32,ksenia,k.lvbkf,nazgul,budweiser,clutch,mariya,sylveste,02051972,beaker,cartman1,q11111,sexxx,forever1,loser1,marseill,magellan,vehpbr,sexgod,jktxrf,hallo123,132456,liverpool1,southpaw,seneca,camden,357159,camero,tenchi,johndoe,145236,roofer,741963,vlad,02041978,fktyrf,zxcv123,wingnut,wolfpac,notebook,pufunga7782,brandy1,biteme1,goodgirl,redhat,02031978,challeng,millenium,hoops,maveric,noname,angus1,gaell,onion,olympus,sabrina1,ricard,sixpack,gratis,gagged,camaross,hotgirls,flasher,02051977,bubba123,goldfing,moonshin,gerrard,volkov,sonyfuck,mandrake,258963,tracer,lakers1,asians,susan1,money12,helmut,boater,diablo2,1234zxcv,dogwood,bubbles1,happy2,randy1,aries,beach1,marcius2,navigator,goodie,hellokitty,fkbyjxrf,earthlink,lookout,jumbo,opendoor,stanley1,marie1,12345m,07071977,ashle,wormix,murzik,02081976,lakewood,bluejays,loveya,commande,gateway2,peppe,01011976,7896321,goth,oreo,slammer,rasmus,faith1,knight1,stone1,redskin,ironmaiden,gotmilk,destiny1,dejavu,1master,midnite,timosha,espresso,delfin,toriamos,oberon,ceasar,markie,1a2s3d,ghhh47hj7649,vjkjrj,daddyo,dougie,disco,auggie,lekker,therock1,ou8123,start1,noway,p4ssw0rd,shadow12,333444,saigon,2fast4u,capecod,23skidoo,qazxcv,beater,bremen,aaasss,roadrunner,peace1,12345qwer,02071975,platon,bordeaux,vbkfirf,135798642,test12,supernov,beatles1,qwert40,optimist,vanessa1,prince1,ilovegod,nightwish,natasha1,alchemy,bimbo,blue99,patches1,gsxr1000,richar,hattrick,hott,solaris,proton,nevets,enternow,beavis1,amigos,159357a,ambers,lenochka,147896,suckdick,shag,intercourse,blue1234,spiral,02061977,tosser,ilove,02031975,cowgirl,canuck,q2w3e4,munch,spoons,waterboy,123567,evgeniy,savior,zasada,redcar,mamacita,terefon,globus,doggies,htubcnhfwbz,1008,cuervo,suslik,azertyui,limewire,houston1,stratfor,steaua,coors,tennis1,12345qwerty,stigmata,derf,klondike,patrici,marijuan,hardball,odyssey,nineinch,boston1,pass1,beezer,sandr,charon,power123,a1234,vauxhall,875421,awesome1,reggae,boulder,funstuff,iriska,krokodil,rfntymrf,sterva,champ1,bball,peeper,m123456,toolbox,cabernet,sheepdog,magic32,pigpen,02041977,holein1,lhfrjy,banan,dabomb,natalie1,jennaj,montana1,joecool,funky,steven1,ringo,junio,sammy123,qqqwww,baltimor,footjob,geezer,357951,mash4077,cashmone,pancake,monic,grandam,bongo,yessir,gocubs,nastia,vancouve,barley,dragon69,watford,ilikepie,02071976,laddie,123456789m,hairball,toonarmy,pimpdadd,cvthnm,hunte,davinci,lback,sophie1,firenze,q1234567,admin1,bonanza,elway7,daman,strap,azert,wxcvbn,afrika,theforce,123456t,idefix,wolfen,houdini,scheisse,default,beech,maserati,02061976,sigmachi,dylan1,bigdicks,eskimo,mizzou,02101976,riccardo,egghead,111777,kronos,ghbrjk,chaos1,jomama,rfhnjirf,rodeo,dolemite,cafc91,nittany,pathfind,mikael,password9,vqsablpzla,purpl,gabber,modelsne,myxworld,hellsing,punker,rocknrol,fishon,fuck69,02041976,lolol,twinkie,tripleh,cirrus,redbone,killer123,biggun,allegro,gthcbr,smith1,wanking,bootsy,barry1,mohawk,koolaid,5329,futurama,samoht,klizma,996633,lobo,honeys,peanut1,556677,zxasqw,joemama,javelin,samm,223322,sandra1,flicks,montag,nataly,3006,tasha1,1235789,dogbone,poker1,p0o9i8u7,goodday,smoothie,toocool,max333,metroid,archange,vagabond,billabon,22061941,tyson1,02031973,darkange,skateboard,evolutio,morrowind,wizards,frodo1,rockin,cumslut,plastics,zaqwsxcde,5201314,doit,outback,bumble,dominiqu,persona,nevermore,alinka,02021971,forgetit,sexo,all4one,c2h5oh,petunia,sheeba,kenny1,elisabet,aolsucks,woodstoc,pumper,02011975,fabio,granada,scrapper,123459,minimoni,q123456789,breaker,1004,02091976,ncc74656,slimshad,friendster,austin31,wiseguy,donner,dilbert1,132465,blackbird,buffet,jellybean,barfly,behappy,01011971,carebear,fireblad,02051975,boxcar,cheeky,kiteboy,hello12,panda1,elvisp,opennow,doktor,alex12,02101977,pornking,flamengo,02091975,snowbird,lonesome,robin1,11111a,weed420,baracuda,bleach,12345abc,nokia1,metall,singapor,mariner,herewego,dingo,tycoon,cubs,blunts,proview,123456789d,kamasutra,lagnaf,vipergts,navyseal,starwar,masterbate,wildone,peterbil,cucumber,butkus,123qwert,climax,deniro,gotribe,cement,scooby1,summer69,harrier,shodan,newyear,02091977,starwars1,romeo1,sedona,harald,doubled,sasha123,bigguns,salami,awnyce,kiwi,homemade,pimping,azzer,bradley1,warhamme,linkin,dudeman,qwe321,pinnacle,maxdog,flipflop,lfitymrf,fucker1,acidburn,esquire,sperma,fellatio,jeepster,thedon,sexybitch,pookey,spliff,widget,vfntvfnbrf,trinity1,mutant,samuel1,meliss,gohome,1q2q3q,mercede,comein,grin,cartoons,paragon,henrik,rainyday,pacino,senna,bigdog1,alleycat,12345qaz,narnia,mustang2,tanya1,gianni,apollo11,wetter,clovis,escalade,rainbows,freddy1,smart1,daisydog,s123456,cocksucker,pushkin,lefty,sambo,fyutkjxtr,hiziad,boyz,whiplash,orchard,newark,adrenalin,1598753,bootsie,chelle,trustme,chewy,golfgti,tuscl,ambrosia,5wr2i7h8,penetration,shonuf,jughead,payday,stickman,gotham,kolokol,johnny5,kolbasa,stang,puppydog,charisma,gators1,mone,jakarta,draco,nightmar,01011973,inlove,laetitia,02091973,tarpon,nautica,meadow,0192837465,luckyone,14881488,chessie,goldeney,tarakan,69camaro,bungle,wordup,interne,fuckme2,515000,dragonfl,sprout,02081974,gerbil,bandit1,02071971,melanie1,phialpha,camber,kathy1,adriano,gonzo1,10293847,bigjohn,bismarck,7777777a,scamper,12348765,rabbits,222777,bynthytn,dima123,alexander1,mallorca,dragster,favorite6,beethove,burner,cooper1,fosters,hello2,normandy,777999,sebring,1michael,lauren1,blake1,killa,02091971,nounours,trumpet1,thumper1,playball,xantia,rugby1,rocknroll,guillaum,angela1,strelok,prosper,buttercup,masterp,dbnfkbr,cambridg,venom,treefrog,lumina,1234566,supra,sexybabe,freee,shen,frogs,driller,pavement,grace1,dicky,checker,smackdown,pandas,cannibal,asdffdsa,blue42,zyjxrf,nthvbyfnjh,melrose,neon,jabber,gamma,369258147,aprilia,atticus,benessere,catcher,skipper1,azertyuiop,sixty9,thierry,treetop,jello,melons,123456789qwe,tantra,buzzer,catnip,bouncer,computer1,sexyone,ananas,young1,olenka,sexman,mooses,kittys,sephiroth,contra,hallowee,skylark,sparkles,777333,1qazxsw23edc,lucas1,q1w2e3r,gofast,hannes,amethyst,ploppy,flower2,hotass,amatory,volleyba,dixie1,bettyboo,ticklish,02061974,frenchy,phish1,murphy1,trustno,02061972,leinad,mynameis,spooge,jupiter1,hyundai,frosch,junkmail,abacab,marbles,32167,casio,sunshine1,wayne1,longhair,caster,snicker,02101973,gannibal,skinhead,hansol,gatsby,segblue2,montecar,plato,gumby,kaboom,matty,bosco1,888999,jazzy,panter,jesus123,charlie2,giulia,candyass,sex69,travis1,farmboy,special1,02041973,letsdoit,password01,allison1,abcdefg1,notredam,ilikeit,789654123,liberty1,rugger,uptown,alcatraz,123456w,airman,007bond,navajo,kenobi,terrier,stayout,grisha,frankie1,fluff,1qazzaq1,1234561,virginie,1234568,tango1,werdna,octopus,fitter,dfcbkbcf,blacklab,115599,montrose,allen1,supernova,frederik,ilovepussy,justice1,radeon,playboy2,blubber,sliver,swoosh,motocros,lockdown,pearls,thebear,istheman,pinetree,biit,1234rewq,rustydog,tampabay,titts,babycake,jehovah,vampire1,streaming,collie,camil,fidelity,calvin1,stitch,gatit,restart,puppy1,budgie,grunt,capitals,hiking,dreamcas,zorro1,321678,riffraff,makaka,playmate,napalm,rollin,amstel,zxcvb123,samanth,rumble,fuckme69,jimmys,951357,pizzaman,1234567899,tralala,delpiero,alexi,yamato,itisme,1million,vfndtq,kahlua,londo,wonderboy,carrots,tazz,ratboy,rfgecnf,02081973,nico,fujitsu,tujhrf,sergbest,blobby,02051970,sonic1,1357911,smirnov,video1,panhead,bucky,02031974,44332211,duffer,cashmoney,left4dead,bagpuss,salman,01011972,titfuck,66613666,england1,malish,dresden,lemans,darina,zapper,123456as,123456qqq,met2002,02041972,redstar,blue23,1234509876,pajero,booyah,please1,tetsuo,semper,finder,hanuman,sunlight,123456n,02061971,treble,cupoi,password99,dimitri,3ip76k2,popcorn1,lol12345,stellar,nympho,shark1,keith1,saskia,bigtruck,revoluti,rambo1,asd222,feelgood,phat,gogators,bismark,cola,puck,furball,burnout,slonik,bowtie,mommy1,icecube,fabienn,mouser,papamama,rolex,giants1,blue11,trooper1,momdad,iklo,morten,rhubarb,gareth,123456d,blitz,canada1,r2d2,brest,tigercat,usmarine,lilbit,benny1,azrael,lebowski,12345r,madagaskar,begemot,loverman,dragonballz,italiano,mazda3,naughty1,onions,diver1,cyrano,capcom,asdfg123,forlife,fisherman,weare138,requiem,mufasa,alpha123,piercing,hellas,abracadabra,duckman,caracas,macintos,02011971,jordan2,crescent,fduecn,hogtied,eatmenow,ramjet,18121812,kicksass,whatthe,discus,rfhfvtkmrf,rufus1,sqdwfe,mantle,vegitto,trek,dan123,paladin1,rudeboy,liliya,lunchbox,riversid,acapulco,libero,dnsadm,maison,toomuch,boobear,hemlock,sextoy,pugsley,misiek,athome,migue,altoids,marcin,123450,rhfcfdbwf,jeter2,rhinos,rjhjkm,mercury1,ronaldinho,shampoo,makayla,kamilla,masterbating,tennesse,holger,john1,matchbox,hores,poptart,parlament,goodyear,asdfgh1,02081970,hardwood,alain,erection,hfytnrb,highlife,implants,benjami,dipper,jeeper,bendover,supersonic,babybear,laserjet,gotenks,bama,natedogg,aol123,pokemo,rabbit1,raduga,sopranos,cashflow,menthol,pharao,hacking,334455,ghjcnbnenrf,lizzy,muffin1,pooky,penis1,flyer,gramma,dipset,becca,ireland1,diana1,donjuan,pong,ziggy1,alterego,simple1,cbr900,logger,111555,claudia1,cantona7,matisse,ljxtymrf,victori,harle,mamas,encore,mangos,iceman1,diamon,alexxx,tiamat,5000,desktop,mafia,smurf,princesa,shojou,blueberr,welkom,maximka,123890,123q123,tammy1,bobmarley,clips,demon666,ismail,termite,laser1,missie,altair,donna1,bauhaus,trinitron,mogwai,flyers88,juniper,nokia5800,boroda,jingles,qwerasdfzxcv,shakur,777666,legos,mallrats,1qazxsw,goldeneye,tamerlan,julia1,backbone,spleen,49ers,shady,darkone,medic1,justi,giggle,cloudy,aisan,douche,parkour,bluejay,huskers1,redwine,1qw23er4,satchmo,1231234,nineball,stewart1,ballsack,probes,kappa,amiga,flipper1,dortmund,963258,trigun,1237895,homepage,blinky,screwy,gizzmo,belkin,chemist,coolhand,chachi,braves1,thebest,greedisgood,pro100,banana1,101091m,123456g,wonderfu,barefeet,8inches,1111qqqq,kcchiefs,qweasdzxc123,metal1,jennifer1,xian,asdasd123,pollux,cheerleaers,fruity,mustang5,turbos,shopper,photon,espana,hillbill,oyster,macaroni,gigabyte,jesper,motown,tuxedo,buster12,triplex,cyclones,estrell,mortis,holla,456987,fiddle,sapphic,jurassic,thebeast,ghjcnjq,baura,spock1,metallica1,karaoke,nemrac58,love1234,02031970,flvbybcnhfnjh,frisbee,diva,ajax,feathers,flower1,soccer11,allday,mierda,pearl1,amature,marauder,333555,redheads,womans,egorka,godbless,159263,nimitz,aaaa1111,sashka,madcow,socce,greywolf,baboon,pimpdaddy,123456789r,reloaded,lancia,rfhfylfi,dicker,placid,grimace,22446688,olemiss,whores,culinary,wannabe,maxi,1234567aa,amelie,riley1,trample,phantom1,baberuth,bramble,asdfqwer,vides,4you,abc123456,taichi,aztnm,smother,outsider,hakr,blackhawk,bigblack,girlie,spook,valeriya,gianluca,freedo,1q2q3q4q,handbag,lavalamp,cumm,pertinant,whatup,nokia123,redlight,patrik,111aaa,poppy1,dfytxrf,aviator,sweeps,kristin1,cypher,elway,yinyang,access1,poophead,tucson,noles1,monterey,waterfal,dank,dougal,918273,suede,minnesot,legman,bukowski,ganja,mammoth,riverrat,asswipe,daredevi,lian,arizona1,kamikadze,alex1234,smile1,angel2,55bgates,bellagio,0001,wanrltw,stiletto,lipton,arsena,biohazard,bbking,chappy,tetris,as123456,darthvad,lilwayne,nopassword,7412369,123456789987654321,natchez,glitter,14785236,mytime,rubicon,moto,pyon,wazzup,tbird,shane1,nightowl,getoff,beckham7,trueblue,hotgirl,nevermin,deathnote,13131,taffy,bigal,copenhag,apricot,gallaries,dtkjcbgtl,totoro,onlyone,civicsi,jesse1,baby123,sierra1,festus,abacus,sickboy,fishtank,fungus,charle,golfpro,teensex,mario66,seaside,aleksei,rosewood,blackberry,1020304050,bedlam,schumi,deerhunt,contour,darkelf,surveyor,deltas,pitchers,741258963,dipstick,funny1,lizzard,112233445566,jupiter2,softtail,titman,greenman,z1x2c3v4b5,smartass,12345677,notnow,myworld,nascar1,chewbacc,nosferatu,downhill,dallas22,kuan,blazers,whales,soldat,craving,powerman,yfcntyf,hotrats,cfvceyu,qweasdzx,princess1,feline,qqwwee,chitown,1234qaz,mastermind,114477,dingbat,care1839,standby,kismet,atreides,dogmeat,icarus,monkeyboy,alex1,mouses,nicetits,sealteam,chopper1,crispy,winter99,rrpass1,myporn,myspace1,corazo,topolino,ass123,lawman,muffy,orgy,1love,passord,hooyah,ekmzyf,pretzel,amonra,nestle,01011950,jimbeam,happyman,z12345,stonewal,helios,manunited,harcore,dick1,gaymen,2hot4u,light1,qwerty13,kakashi,pjkjnj,alcatel,taylo,allah,buddydog,ltkmaby,mongo,blonds,start123,audia6,123456v,civilwar,bellaco,turtles,mustan,deadspin,aaa123,fynjirf,lucky123,tortoise,amor,summe,waterski,zulu,drag0n,dtxyjcnm,gizmos,strife,interacial,pusyy,goose1,bear1,equinox,matri,jaguar1,tobydog,sammys,nachos,traktor,bryan1,morgoth,444555,dasani,miami1,mashka,xxxxxx1,ownage,nightwin,hotlips,passmast,cool123,skolko,eldiablo,manu,1357908642,screwyou,badabing,foreplay,hydro,kubrick,seductive,demon1,comeon,galileo,aladdin,metoo,happines,902100,mizuno,caddy,bizzare,girls1,redone,ohmygod,sable,bonovox,girlies,hamper,opus,gizmodo1,aaabbb,pizzahut,999888,rocky2,anton1,kikimora,peavey,ocelot,a1a2a3a4,2wsx3edc,jackie1,solace,sprocket,galary,chuck1,volvo1,shurik,poop123,locutus,virago,wdtnjxtr,tequier,bisexual,doodles,makeitso,fishy,789632145,nothing1,fishcake,sentry,libertad,oaktree,fivestar,adidas1,vegitta,mississi,spiffy,carme,neutron,vantage,agassi,boners,123456789v,hilltop,taipan,barrage,kenneth1,fister,martian,willem,lfybkf,bluestar,moonman,ntktdbpjh,paperino,bikers,daffy,benji,quake,dragonfly,suckcock,danilka,lapochka,belinea,calypso,asshol,camero1,abraxas,mike1234,womam,q1q2q3q4q5,youknow,maxpower,pic's,audi80,sonora,raymond1,tickler,tadpole,belair,crazyman,finalfantasy,999000,jonatha,paisley,kissmyas,morgana,monste,mantra,spunk,magic123,jonesy,mark1,alessand,741258,baddest,ghbdtnrfrltkf,zxccxz,tictac,augustin,racers,7grout,foxfire,99762000,openit,nathanie,1z2x3c4v5b,seadog,gangbanged,lovehate,hondacbr,harpoon,mamochka,fisherma,bismilla,locust,wally1,spiderman1,saffron,utjhubq,123456987,20spanks,safeway,pisser,bdfyjd,kristen1,bigdick1,magenta,vfhujif,anfisa,friday13,qaz123wsx,0987654321q,tyrant,guan,meggie,kontol,nurlan,ayanami,rocket1,yaroslav,websol76,mutley,hugoboss,websolutions,elpaso,gagarin,badboys,sephirot,918273645,newuser,qian,edcrfv,booger1,852258,lockout,timoxa94,mazda323,firedog,sokolova,skydiver,jesus777,1234567890z,soulfly,canary,malinka,guillerm,hookers,dogfart,surfer1,osprey,india123,rhjkbr,stoppedby,nokia5530,123456789o,blue1,werter,divers,3000,123456f,alpina,cali,whoknows,godspeed,986532,foreskin,fuzzy1,heyyou,didier,slapnuts,fresno,rosebud1,sandman1,bears1,blade1,honeybun,queen1,baronn,pakista,philipp,9111961,topsecret,sniper1,214365,slipper,letsfuck,pippen33,godawgs,mousey,qw123456,scrotum,loveis,lighthou,bp2002,nancy123,jeffrey1,susieq,buddy2,ralphie,trout1,willi,antonov,sluttey,rehbwf,marty1,darian,losangeles,letme1n,12345d,pusssy,godiva,ender,golfnut,leonidas,a1b2c3d4e5,puffer,general1,wizzard,lehjxrf,racer1,bigbucks,cool12,buddys,zinger,esprit,vbienrf,josep,tickling,froggie,987654321a,895623,daddys,crumbs,gucci,mikkel,opiate,tracy1,christophe,came11,777555,petrovich,humbug,dirtydog,allstate,horatio,wachtwoord,creepers,squirts,rotary,bigd,georgia1,fujifilm,2sweet,dasha,yorkie,slimjim,wiccan,kenzie,system1,skunk,b12345,getit,pommes,daredevil,sugars,bucker,piston,lionheart,1bitch,515051,catfight,recon,icecold,fantom,vodafone,kontakt,boris1,vfcnth,canine,01011961,valleywa,faraon,chickenwing101,qq123456,livewire,livelife,roosters,jeepers,ilya1234,coochie,pavlik,dewalt,dfhdfhf,architec,blackops,1qaz2wsx3edc4rfv,rhfcjnf,wsxedc,teaser,sebora,25252,rhino1,ankara,swifty,decimal,redleg,shanno,nermal,candies,smirnova,dragon01,photo1,ranetki,a1s2d3f4g5,axio,wertzu,maurizio,6uldv8,zxcvasdf,punkass,flowe,graywolf,peddler,3rjs1la7qe,mpegs,seawolf,ladyboy,pianos,piggies,vixen,alexus,orpheus,gdtrfb,z123456,macgyver,hugetits,ralph1,flathead,maurici,mailru,goofball,nissan1,nikon,stopit,odin,big1,smooch,reboot,famil,bullit,anthony7,gerhard,methos,124038,morena,eagle2,jessica2,zebras,getlost,gfynthf,123581321,sarajevo,indon,comets,tatjana,rfgbnjirf,joystick,batman12,123456c,sabre,beerme,victory1,kitties,1475369,badboy1,booboo1,comcast,slava,squid,saxophon,lionhear,qaywsx,bustle,nastena,roadway,loader,hillside,starlight,24681012,niggers,access99,bazooka,molly123,blackice,bandi,cocacol,nfhfrfy,timur,muschi,horse1,quant4307s,squerting,oscars,mygirls,flashman,tangerin,goofy1,p0o9i8,housewifes,newness,monkey69,escorpio,password11,hippo,warcraft3,qazxsw123,qpalzm,ribbit,ghbdtndctv,bogota,star123,258000,lincoln1,bigjim,lacoste,firestorm,legenda,indain,ludacris,milamber,1009,evangeli,letmesee,a111111,hooters1,bigred1,shaker,husky,a4tech,cnfkrth,argyle,rjhjdf,nataha,0o9i8u7y,gibson1,sooners1,glendale,archery,hoochie,stooge,aaaaaa1,scorpions,school1,vegas1,rapier,mike23,bassoon,groupd2013,macaco,baker1,labia,freewill,santiag,silverado,butch1,vflfufcrfh,monica1,rugrat,cornhole,aerosmit,bionicle,gfgfvfvf,daniel12,virgo,fmale,favorite2,detroit1,pokey,shredder,baggies,wednesda,cosmo1,mimosa,sparhawk,firehawk,romario,911turbo,funtimes,fhntvrf,nexus6,159753456,timothy1,bajingan,terry1,frenchie,raiden,1mustang,babemagnet,74123698,nadejda,truffles,rapture,douglas1,lamborghini,motocross,rjcvjc,748596,skeeter1,dante1,angel666,telecom,carsten,pietro,bmw318,astro1,carpediem,samir,orang,helium,scirocco,fuzzball,rushmore,rebelz,hotspur,lacrimosa,chevys10,madonna1,domenico,yfnfirf,jachin,shelby1,bloke,dawgs,dunhill,atlanta1,service1,mikado,devilman,angelit,reznor,euphoria,lesbain,checkmat,browndog,phreak,blaze1,crash1,farida,mutter,luckyme,horsemen,vgirl,jediknig,asdas,cesare,allnight,rockey,starlite,truck1,passfan,close-up,samue,cazzo,wrinkles,homely,eatme1,sexpot,snapshot,dima1995,asthma,thetruth,ducky,blender,priyanka,gaucho,dutchman,sizzle,kakarot,651550,passcode,justinbieber,666333,elodie,sanjay,110442,alex01,lotus1,2300mj,lakshmi,zoomer,quake3,12349876,teapot,12345687,ramada,pennywis,striper,pilot1,chingon,optima,nudity,ethan1,euclid,beeline,loyola,biguns,zaq12345,bravo1,disney1,buffa,assmunch,vivid,6661313,wellingt,aqwzsx,madala11,9874123,sigmar,pictere,tiptop,bettyboop,dinero,tahiti,gregory1,bionic,speed1,fubar1,lexus1,denis1,hawthorn,saxman,suntzu,bernhard,dominika,camaro1,hunter12,balboa,bmw2002,seville,diablo1,vfhbyjxrf,1234abc,carling,lockerroom,punani,darth,baron1,vaness,1password,libido,picher,232425,karamba,futyn007,daydream,11001001,dragon123,friends1,bopper,rocky123,chooch,asslover,shimmer,riddler,openme,tugboat,sexy123,midori,gulnara,christo,swatch,laker,offroad,puddles,hackers,mannheim,manager1,horseman,roman1,dancer1,komputer,pictuers,nokia5130,ejaculation,lioness,123456y,evilone,nastenka,pushok,javie,lilman,3141592,mjolnir,toulouse,pussy2,bigworm,smoke420,fullback,extensa,dreamcast,belize,delboy,willie1,casablanca,csyjxtr,ricky1,bonghit,salvator,basher,pussylover,rosie1,963258741,vivitron,cobra427,meonly,armageddon,myfriend,zardoz,qwedsazxc,kraken,fzappa,starfox,333999,illmatic,capoeira,weenie,ramzes,freedom2,toasty,pupkin,shinigami,fhvfutljy,nocturne,churchil,thumbnils,tailgate,neworder,sexymama,goarmy,cerebus,michelle1,vbifyz,surfsup,earthlin,dabulls,basketbal,aligator,mojojojo,saibaba,welcome2,wifes,wdtnjr,12345w,slasher,papabear,terran,footman,hocke,153759,texans,tom123,sfgiants,billabong,aassdd,monolith,xxx777,l3tm31n,ticktock,newone,hellno,japanees,contortionist,admin123,scout1,alabama1,divx1,rochard,privat,radar1,bigdad,fhctybq,tortuga,citrus,avanti,fantasy1,woodstock,s12345,fireman1,embalmer,woodwork,bonzai,konyor,newstart,jigga,panorama,goats,smithy,rugrats,hotmama,daedalus,nonstop,fruitbat,lisenok,quaker,violator,12345123,my3sons,cajun,fraggle,gayboy,oldfart,vulva,knickerless,orgasms,undertow,binky,litle,kfcnjxrf,masturbation,bunnie,alexis1,planner,transexual,sparty,leeloo,monies,fozzie,stinger1,landrove,anakonda,scoobie,yamaha1,henti,star12,rfhlbyfk,beyonce,catfood,cjytxrf,zealots,strat,fordtruc,archangel,silvi,sativa,boogers,miles1,bigjoe,tulip,petite,greentea,shitter,jonboy,voltron,morticia,evanescence,3edc4rfv,longshot,windows1,serge,aabbcc,starbucks,sinful,drywall,prelude1,www123,camel1,homebrew,marlins,123412,letmeinn,domini,swampy,plokij,fordf350,webcam,michele1,bolivi,27731828,wingzero,qawsedrftg,shinji,sverige,jasper1,piper1,cummer,iiyama,gocats,amour,alfarome,jumanji,mike69,fantasti,1monkey,w00t88,shawn1,lorien,1a2s3d4f5g,koleso,murph,natascha,sunkist,kennwort,emine,grinder,m12345,q1q2q3q4,cheeba,money2,qazwsxedc1,diamante,prosto,pdiddy,stinky1,gabby1,luckys,franci,pornographic,moochie,gfhjdjp,samdog,empire1,comicbookdb,emili,motdepasse,iphone,braveheart,reeses,nebula,sanjose,bubba2,kickflip,arcangel,superbow,porsche911,xyzzy,nigger1,dagobert,devil1,alatam,monkey2,barbara1,12345v,vfpfafrf,alessio,babemagn,aceman,arrakis,kavkaz,987789,jasons,berserk,sublime1,rogue1,myspace,buckwhea,csyekz,pussy4me,vette1,boots1,boingo,arnaud,budlite,redstorm,paramore,becky1,imtheman,chango,marley1,milkyway,666555,giveme,mahalo,lux2000,lucian,paddy,praxis,shimano,bigpenis,creeper,newproject2004,rammstei,j3qq4h7h2v,hfljcnm,lambchop,anthony2,bugman,gfhjkm12,dreamer1,stooges,cybersex,diamant,cowboyup,maximus1,sentra,615243,goethe,manhatta,fastcar,selmer,1213141516,yfnfitymrf,denni,chewey,yankee1,elektra,123456789p,trousers,fishface,topspin,orwell,vorona,sodapop,motherfu,ibilltes,forall,kookie,ronald1,balrog,maximilian,mypasswo,sonny1,zzxxcc,tkfkdg,magoo,mdogg,heeled,gitara,lesbos,marajade,tippy,morozova,enter123,lesbean,pounded,asd456,fialka,scarab,sharpie,spanky1,gstring,sachin,12345asd,princeto,hellohel,ursitesux,billows,1234kekc,kombat,cashew,duracell,kseniya,sevenof9,kostik,arthur1,corvet07,rdfhnbhf,songoku,tiberian,needforspeed,1qwert,dropkick,kevin123,panache,libra,a123456a,kjiflm,vfhnsirf,cntgfy,iamcool,narut,buffer,sk8ordie,urlaub,fireblade,blanked,marishka,gemini1,altec,gorillaz,chief1,revival47,ironman1,space1,ramstein,doorknob,devilmaycry,nemesis1,sosiska,pennstat,monday1,pioner,shevchenko,detectiv,evildead,blessed1,aggie,coffees,tical,scotts,bullwink,marsel,krypto,adrock,rjitxrf,asmodeus,rapunzel,theboys,hotdogs,deepthro,maxpayne,veronic,fyyeirf,otter,cheste,abbey1,thanos,bedrock,bartok,google1,xxxzzz,rodent,montecarlo,hernande,mikayla,123456789l,bravehea,12locked,ltymub,pegasus1,ameteur,saltydog,faisal,milfnew,momsuck,everques,ytngfhjkz,m0nkey,businessbabe,cooki,custard,123456ab,lbvjxrf,outlaws,753357,qwerty78,udacha,insider,chees,fuckmehard,shotokan,katya,seahorse,vtldtlm,turtle1,mike12,beebop,heathe,everton1,darknes,barnie,rbcekz,alisher,toohot,theduke,555222,reddog1,breezy,bulldawg,monkeyman,baylee,losangel,mastermi,apollo1,aurelie,zxcvb12345,cayenne,bastet,wsxzaq,geibcnbr,yello,fucmy69,redwall,ladybird,bitchs,cccccc1,rktjgfnhf,ghjdthrf,quest1,oedipus,linus,impalass,fartman,12345k,fokker,159753a,optiplex,bbbbbb1,realtor,slipkno,santacru,rowdy,jelena,smeller,3984240,ddddd1,sexyme,janet1,3698741,eatme69,cazzone,today1,poobear,ignatius,master123,newpass1,heather2,snoopdogg,blondinka,pass12,honeydew,fuckthat,890098890,lovem,goldrush,gecko,biker1,llama,pendejo,avalanche,fremont,snowman1,gandolf,chowder,1a2b3c4d5e,flyguy,magadan,1fuck,pingvin,nokia5230,ab1234,lothar,lasers,bignuts,renee1,royboy,skynet,12340987,1122334,dragrace,lovely1,22334455,booter,12345612,corvett,123456qq,capital1,videoes,funtik,wyvern,flange,sammydog,hulkster,13245768,not4you,vorlon,omegared,l58jkdjp!,filippo,123mudar,samadams,petrus,chris12,charlie123,123456789123,icetea,sunderla,adrian1,123qweas,kazanova,aslan,monkey123,fktyeirf,goodsex,123ab,lbtest,banaan,bluenose,837519,asd12345,waffenss,whateve,1a2a3a4a,trailers,vfhbirf,bhbcrf,klaatu,turk182,monsoon,beachbum,sunbeam,succes,clyde1,viking1,rawhide,bubblegum,princ,mackenzi,hershey1,222555,dima55,niggaz,manatee,aquila,anechka,pamel,bugsbunn,lovel,sestra,newport1,althor,hornyman,wakeup,zzz111,phishy,cerber,torrent,thething,solnishko,babel,buckeye1,peanu,ethernet,uncencored,baraka,665544,chris2,rb26dett,willy1,choppers,texaco,biggirl,123456b,anna2614,sukebe,caralho,callofduty,rt6ytere,jesus7,angel12,1money,timelord,allblack,pavlova,romanov,tequiero,yitbos,lookup,bulls23,snowflake,dickweed,barks,lever,irisha,firestar,fred1234,ghjnjnbg,danman,gatito,betty1,milhouse,kbctyjr,masterbaiting,delsol,papit,doggys,123698741,bdfyjdf,invictus,bloods,kayla1,yourmama,apple2,angelok,bigboy1,pontiac1,verygood,yeshua,twins2,porn4me,141516,rasta69,james2,bosshog,candys,adventur,stripe,djkjlz,dokken,austin316,skins,hogwarts,vbhevbh,navigato,desperado,xxx666,cneltyn,vasiliy,hazmat,daytek,eightbal,fred1,four20,74227422,fabia,aerosmith,manue,wingchun,boohoo,hombre,sanity72,goatboy,fuckm,partizan,avrora,utahjazz,submarin,pussyeat,heinlein,control1,costaric,smarty,chuan,triplets,snowy,snafu,teacher1,vangogh,vandal,evergree,cochise,qwerty99,pyramid1,saab900,sniffer,qaz741,lebron23,mark123,wolvie,blackbelt,yoshi,feeder,janeway,nutella,fuking,asscock,deepak,poppie,bigshow,housewife,grils,tonto,cynthia1,temptress,irakli,belle1,russell1,manders,frank123,seabass,gforce,songbird,zippy1,naught,brenda1,chewy1,hotshit,topaz,43046721,girfriend,marinka,jakester,thatsme,planeta,falstaff,patrizia,reborn,riptide,cherry1,shuan,nogard,chino,oasis1,qwaszx12,goodlife,davis1,1911a1,harrys,shitfuck,12345678900,russian7,007700,bulls1,porshe,danil,dolphi,river1,sabaka,gobigred,deborah1,volkswagen,miamo,alkaline,muffdive,1letmein,fkbyrf,goodguy,hallo1,nirvan,ozzie,cannonda,cvbhyjdf,marmite,germany1,joeblow,radio1,love11,raindrop,159852,jacko,newday,fathead,elvis123,caspe,citibank,sports1,deuce,boxter,fakepass,golfman,snowdog,birthday4,nonmembe,niklas,parsifal,krasota,theshit,1235813,maganda,nikita1,omicron,cassie1,columbo,buick,sigma1,thistle,bassin,rickster,apteka,sienna,skulls,miamor,coolgirl,gravis,1qazxc,virgini,hunter2,akasha,batma,motorcyc,bambino,tenerife,fordf250,zhuan,iloveporn,markiza,hotbabes,becool,fynjybyf,wapapapa,forme,mamont,pizda,dragonz,sharon1,scrooge,mrbill,pfloyd,leeroy,natedog,ishmael,777111,tecumseh,carajo,nfy.irf,0000000000o,blackcock,fedorov,antigone,feanor,novikova,bobert,peregrin,spartan117,pumkin,rayman,manuals,tooltime,555333,bonethug,marina1,bonnie1,tonyhawk,laracroft,mahalkita,18273645,terriers,gamer,hoser,littlema,molotok,glennwei,lemon1,caboose,tater,12345654321,brians,fritz1,mistral,jigsaw,fuckshit,hornyguy,southside,edthom,antonio1,bobmarle,pitures,ilikesex,crafty,nexus,boarder,fulcrum,astonvil,yanks1,yngwie,account1,zooropa,hotlegs,sammi,gumbo,rover1,perkele,maurolarastefy,lampard,357753,barracud,dmband,abcxyz,pathfinder,335577,yuliya,micky,jayman,asdfg12345,1596321,halcyon,rerfhtre,feniks,zaxscd,gotyoass,jaycee,samson1,jamesb,vibrate,grandpri,camino,colossus,davidb,mamo4ka,nicky1,homer123,pinguin,watermelon,shadow01,lasttime,glider,823762,helen1,pyramids,tulane,osama,rostov,john12,scoote,bhbyrf,gohan,galeries,joyful,bigpussy,tonka,mowgli,astalavista,zzz123,leafs,dalejr8,unicorn1,777000,primal,bigmama,okmijn,killzone,qaz12345,snookie,zxcvvcxz,davidc,epson,rockman,ceaser,beanbag,katten,3151020,duckhunt,segreto,matros,ragnar,699669,sexsexse,123123z,fuckyeah,bigbutts,gbcmrf,element1,marketin,saratov,elbereth,blaster1,yamahar6,grime,masha,juneau,1230123,pappy,lindsay1,mooner,seattle1,katzen,lucent,polly1,lagwagon,pixie,misiaczek,666666a,smokedog,lakers24,eyeball,ironhors,ametuer,volkodav,vepsrf,kimmy,gumby1,poi098,ovation,1q2w3,drinker,penetrating,summertime,1dallas,prima,modles,takamine,hardwork,macintosh,tahoe,passthie,chiks,sundown,flowers1,boromir,music123,phaedrus,albert1,joung,malakas,gulliver,parker1,balder,sonne,jessie1,domainlock2005,express1,vfkbyf,youandme,raketa,koala,dhjnvytyjub,nhfrnjh,testibil,ybrbnjc,987654321q,axeman,pintail,pokemon123,dogggg,shandy,thesaint,11122233,x72jhhu3z,theclash,raptors,zappa1,djdjxrf,hell666,friday1,vivaldi,pluto1,lance1,guesswho,jeadmi,corgan,skillz,skippy1,mango1,gymnastic,satori,362514,theedge,cxfcnkbdfz,sparkey,deicide,bagels,lololol,lemmings,r4e3w2q1,silve,staind,schnuffi,dazzle,basebal1,leroy1,bilbo1,luckie,qwerty2,goodfell,hermione,peaceout,davidoff,yesterda,killah,flippy,chrisb,zelda1,headless,muttley,fuckof,tittys,catdaddy,photog,beeker,reaver,ram1500,yorktown,bolero,tryagain,arman,chicco,learjet,alexei,jenna1,go2hell,12s3t4p55,momsanaladventure,mustang9,protoss,rooter,ginola,dingo1,mojave,erica1,1qazse4,marvin1,redwolf,sunbird,dangerou,maciek,girsl,hawks1,packard1,excellen,dashka,soleda,toonces,acetate,nacked,jbond007,alligator,debbie1,wellhung,monkeyma,supers,rigger,larsson,vaseline,rjnzhf,maripos,123456asd,cbr600rr,doggydog,cronic,jason123,trekker,flipmode,druid,sonyvaio,dodges,mayfair,mystuff,fun4me,samanta,sofiya,magics,1ranger,arcane,sixtynin,222444,omerta,luscious,gbyudby,bobcats,envision,chance1,seaweed,holdem,tomate,mensch,slicer,acura1,goochi,qweewq,punter,repoman,tomboy,never1,cortina,gomets,147896321,369852147,dogma,bhjxrf,loglatin,eragon,strato,gazelle,growler,885522,klaudia,payton34,fuckem,butchie,scorpi,lugano,123456789k,nichola,chipper1,spide,uhbujhbq,rsalinas,vfylfhby,longhorns,bugatti,everquest,!qaz2wsx,blackass,999111,snakeman,p455w0rd,fanatic,family1,pfqxbr,777vlad,mysecret,marat,phoenix2,october1,genghis,panties1,cooker,citron,ace123,1234569,gramps,blackcoc,kodiak1,hickory,ivanhoe,blackboy,escher,sincity,beaks,meandyou,spaniel,canon1,timmy1,lancaste,polaroid,edinburg,fuckedup,hotman,cueball,golfclub,gopack,bookcase,worldcup,dkflbvbhjdbx,twostep,17171717aa,letsplay,zolushka,stella1,pfkegf,kingtut,67camaro,barracuda,wiggles,gjhjkm,prancer,patata,kjifhf,theman1,romanova,sexyass,copper1,dobber,sokolov,pomidor,algernon,cadman,amoremio,william2,silly1,bobbys,hercule,hd764nw5d7e1vb1,defcon,deutschland,robinhood,alfalfa,machoman,lesbens,pandora1,easypay,tomservo,nadezhda,goonies,saab9000,jordyn,f15eagle,dbrecz,12qwerty,greatsex,thrawn,blunted,baywatch,doggystyle,loloxx,chevy2,january1,kodak,bushel,78963214,ub6ib9,zz8807zpl,briefs,hawker,224488,first1,bonzo,brent1,erasure,69213124,sidewind,soccer13,622521,mentos,kolibri,onepiece,united1,ponyboy,keksa12,wayer,mypussy,andrej,mischa,mille,bruno123,garter,bigpun,talgat,familia,jazzy1,mustang8,newjob,747400,bobber,blackbel,hatteras,ginge,asdfjkl;,camelot1,blue44,rebbyt34,ebony1,vegas123,myboys,aleksander,ijrjkflrf,lopata,pilsner,lotus123,m0nk3y,andreev,freiheit,balls1,drjynfrnt,mazda1,waterpolo,shibumi,852963,123bbb,cezer121,blondie1,volkova,rattler,kleenex,ben123,sanane,happydog,satellit,qazplm,qazwsxedcrfvtgb,meowmix,badguy,facefuck,spice1,blondy,major1,25000,anna123,654321a,sober1,deathrow,patterso,china1,naruto1,hawkeye1,waldo1,butchy,crayon,5tgb6yhn,klopik,crocodil,mothra,imhorny,pookie1,splatter,slippy,lizard1,router,buratino,yahweh,123698,dragon11,123qwe456,peepers,trucker1,ganjaman,1hxboqg2,cheyanne,storys,sebastie,zztop,maddison,4rfv3edc,darthvader,jeffro,iloveit,victor1,hotty,delphin,lifeisgood,gooseman,shifty,insertions,dude123,abrupt,123masha,boogaloo,chronos,stamford,pimpster,kthjxrf,getmein,amidala,flubber,fettish,grapeape,dantes,oralsex,jack1,foxcg33,winchest,francis1,getin,archon,cliffy,blueman,1basebal,sport1,emmitt22,porn123,bignasty,morga,123hfjdk147,ferrar,juanito,fabiol,caseydog,steveo,peternorth,paroll,kimchi,bootleg,gaijin,secre,acacia,eatme2,amarillo,monkey11,rfhfgep,tylers,a1a2a3a4a5,sweetass,blower,rodina,babushka,camilo,cimbom,tiffan,vfnbkmlf,ohbaby,gotigers,lindsey1,dragon13,romulus,qazxsw12,zxcvbn1,dropdead,hitman47,snuggle,eleven11,bloopers,357mag,avangard,bmw320,ginscoot,dshade,masterkey,voodoo1,rootedit,caramba,leahcim,hannover,8phrowz622,tim123,cassius,000000a,angelito,zzzzz1,badkarma,star1,malaga,glenwood,footlove,golf1,summer12,helpme1,fastcars,titan1,police1,polinka,k.jdm,marusya,augusto,shiraz,pantyhose,donald1,blaise,arabella,brigada,c3por2d2,peter01,marco1,hellow,dillweed,uzumymw,geraldin,loveyou2,toyota1,088011,gophers,indy500,slainte,5hsu75kpot,teejay,renat,racoon,sabrin,angie1,shiznit,harpua,sexyred,latex,tucker1,alexandru,wahoo,teamwork,deepblue,goodison,rundmc,r2d2c3p0,puppys,samba,ayrton,boobed,999777,topsecre,blowme1,123321z,loudog,random1,pantie,drevil,mandolin,121212q,hottub,brother1,failsafe,spade1,matvey,open1234,carmen1,priscill,schatzi,kajak,gooddog,trojans1,gordon1,kayak,calamity,argent,ufhvjybz,seviyi,penfold,assface,dildos,hawkwind,crowbar,yanks,ruffles,rastus,luv2epus,open123,aquafina,dawns,jared1,teufel,12345c,vwgolf,pepsi123,amores,passwerd,01478520,boliva,smutty,headshot,password3,davidd,zydfhm,gbgbcmrf,pornpass,insertion,ceckbr,test2,car123,checkit,dbnfkbq,niggas,nyyankee,muskrat,nbuhtyjr,gunner1,ocean1,fabienne,chrissy1,wendys,loveme89,batgirl,cerveza,igorek,steel1,ragman,boris123,novifarm,sexy12,qwerty777,mike01,giveitup,123456abc,fuckall,crevice,hackerz,gspot,eight8,assassins,texass,swallows,123458,baldur,moonshine,labatt,modem,sydney1,voland,dbnfkz,hotchick,jacker,princessa,dawgs1,holiday1,booper,reliant,miranda1,jamaica1,andre1,badnaamhere,barnaby,tiger7,david12,margaux,corsica,085tzzqi,universi,thewall,nevermor,martin6,qwerty77,cipher,apples1,0102030405,seraphim,black123,imzadi,gandon,ducati99,1shadow,dkflbvbhjdyf,44magnum,bigbad,feedme,samantha1,ultraman,redneck1,jackdog,usmc0311,fresh1,monique1,tigre,alphaman,cool1,greyhoun,indycar,crunchy,55chevy,carefree,willow1,063dyjuy,xrated,assclown,federica,hilfiger,trivia,bronco1,mamita,100200300,simcity,lexingky,akatsuki,retsam,johndeere,abudfv,raster,elgato,businka,satanas,mattingl,redwing1,shamil,patate,mannn,moonstar,evil666,b123456,bowl300,tanechka,34523452,carthage,babygir,santino,bondarenko,jesuss,chico1,numlock,shyguy,sound1,kirby1,needit,mostwanted,427900,funky1,steve123,passions,anduril,kermit1,prospero,lusty,barakuda,dream1,broodwar,porky,christy1,mahal,yyyyyy1,allan1,1sexy,flintsto,capri,cumeater,heretic,robert2,hippos,blindax,marykay,collecti,kasumi,1qaz!qaz,112233q,123258,chemistr,coolboy,0o9i8u,kabuki,righton,tigress,nessie,sergej,andrew12,yfafyz,ytrhjvfyn,angel7,victo,mobbdeep,lemming,transfor,1725782,myhouse,aeynbr,muskie,leno4ka,westham1,cvbhyjd,daffodil,pussylicker,pamela1,stuffer,warehous,tinker1,2w3e4r,pluton,louise1,polarbea,253634,prime1,anatoliy,januar,wysiwyg,cobraya,ralphy,whaler,xterra,cableguy,112233a,porn69,jamesd,aqualung,jimmy123,lumpy,luckyman,kingsize,golfing1,alpha7,leeds1,marigold,lol1234,teabag,alex11,10sne1,saopaulo,shanny,roland1,basser,3216732167,carol1,year2005,morozov,saturn1,joseluis,bushed,redrock,memnoch,lalaland,indiana1,lovegod,gulnaz,buffalos,loveyou1,anteater,pattaya,jaydee,redshift,bartek,summerti,coffee1,ricochet,incest,schastie,rakkaus,h2opolo,suikoden,perro,dance1,loveme1,whoopass,vladvlad,boober,flyers1,alessia,gfcgjhn,pipers,papaya,gunsling,coolone,blackie1,gonads,gfhjkzytn,foxhound,qwert12,gangrel,ghjvtntq,bluedevi,mywife,summer01,hangman,licorice,patter,vfr750,thorsten,515253,ninguna,dakine,strange1,mexic,vergeten,12345432,8phrowz624,stampede,floyd1,sailfish,raziel,ananda,giacomo,freeme,crfprf,74185296,allstars,master01,solrac,gfnhbjn,bayliner,bmw525,3465xxx,catter,single1,michael3,pentium4,nitrox,mapet123456,halibut,killroy,xxxxx1,phillip1,poopsie,arsenalfc,buffys,kosova,all4me,32165498,arslan,opensesame,brutis,charles2,pochta,nadegda,backspac,mustang0,invis,gogeta,654321q,adam25,niceday,truckin,gfdkbr,biceps,sceptre,bigdave,lauras,user345,sandys,shabba,ratdog,cristiano,natha,march13,gumball,getsdown,wasdwasd,redhead1,dddddd1,longlegs,13572468,starsky,ducksoup,bunnys,omsairam,whoami,fred123,danmark,flapper,swanky,lakings,yfhenj,asterios,rainier,searcher,dapper,ltdjxrf,horsey,seahawk,shroom,tkfkdgo,aquaman,tashkent,number9,messi10,1asshole,milenium,illumina,vegita,jodeci,buster01,bareback,goldfinger,fire1,33rjhjds,sabian,thinkpad,smooth1,sully,bonghits,sushi1,magnavox,colombi,voiture,limpone,oldone,aruba,rooster1,zhenya,nomar5,touchdow,limpbizkit,rhfcfdxbr,baphomet,afrodita,bball1,madiso,ladles,lovefeet,matthew2,theworld,thunderbird,dolly1,123rrr,forklift,alfons,berkut,speedy1,saphire,oilman,creatine,pussylov,bastard1,456258,wicked1,filimon,skyline1,fucing,yfnfkbz,hot123,abdulla,nippon,nolimits,billiard,booty1,buttplug,westlife,coolbean,aloha1,lopas,asasin,1212121,october2,whodat,good4u,d12345,kostas,ilya1992,regal,pioneer1,volodya,focus1,bastos,nbvjif,fenix,anita1,vadimka,nickle,jesusc,123321456,teste,christ1,essendon,evgenii,celticfc,adam1,forumwp,lovesme,26exkp,chillout,burly,thelast1,marcus1,metalgear,test11,ronaldo7,socrate,world1,franki,mommie,vicecity,postov1000,charlie3,oldschool,333221,legoland,antoshka,counterstrike,buggy,mustang3,123454,qwertzui,toons,chesty,bigtoe,tigger12,limpopo,rerehepf,diddle,nokia3250,solidsnake,conan1,rockroll,963369,titanic1,qwezxc,cloggy,prashant,katharin,maxfli,takashi,cumonme,michael9,mymother,pennstate,khalid,48151623,fightclub,showboat,mateusz,elrond,teenie,arrow1,mammamia,dustydog,dominator,erasmus,zxcvb1,1a2a3a,bones1,dennis1,galaxie,pleaseme,whatever1,junkyard,galadriel,charlies,2wsxzaq1,crimson1,behemoth,teres,master11,fairway,shady1,pass99,1batman,joshua12,baraban,apelsin,mousepad,melon,twodogs,123321qwe,metalica,ryjgrf,pipiska,rerfhfxf,lugnut,cretin,iloveu2,powerade,aaaaaaa1,omanko,kovalenko,isabe,chobits,151nxjmt,shadow11,zcxfcnkbdf,gy3yt2rgls,vfhbyrf,159753123,bladerunner,goodone,wonton,doodie,333666999,fuckyou123,kitty123,chisox,orlando1,skateboa,red12345,destroye,snoogans,satan1,juancarlo,goheels,jetson,scottt,fuckup,aleksa,gfhfljrc,passfind,oscar123,derrick1,hateme,viper123,pieman,audi100,tuffy,andover,shooter1,10000,makarov,grant1,nighthaw,13576479,browneye,batigol,nfvfhf,chocolate1,7hrdnw23,petter,bantam,morlii,jediknight,brenden,argonaut,goodstuf,wisconsi,315920,abigail1,dirtbag,splurge,k123456,lucky777,valdepen,gsxr600,322223,ghjnjrjk,zaq1xsw2cde3,schwanz,walter1,letmein22,nomads,124356,codeblue,nokian70,fucke,footbal1,agyvorc,aztecs,passw0r,smuggles,femmes,ballgag,krasnodar,tamuna,schule,sixtynine,empires,erfolg,dvader,ladygaga,elite1,venezuel,nitrous,kochamcie,olivia1,trustn01,arioch,sting1,131415,tristar,555000,maroon,135799,marsik,555556,fomoco,natalka,cwoui,tartan,davecole,nosferat,hotsauce,dmitry,horus,dimasik,skazka,boss302,bluebear,vesper,ultras,tarantul,asd123asd,azteca,theflash,8ball,1footbal,titlover,lucas123,number6,sampson1,789852,party1,dragon99,adonai,carwash,metropol,psychnau,vthctltc,hounds,firework,blink18,145632,wildcat1,satchel,rice80,ghtktcnm,sailor1,cubano,anderso,rocks1,mike11,famili,dfghjc,besiktas,roygbiv,nikko,bethan,minotaur,rakesh,orange12,hfleuf,jackel,myangel,favorite7,1478520,asssss,agnieszka,haley1,raisin,htubyf,1buster,cfiekz,derevo,1a2a3a4a5a,baltika,raffles,scruffy1,clitlick,louis1,buddha1,fy.nrf,walker1,makoto,shadow2,redbeard,vfvfvskfhfve,mycock,sandydog,lineman,network1,favorite8,longdick,mustangg,mavericks,indica,1killer,cisco1,angelofwar,blue69,brianna1,bubbaa,slayer666,level42,baldrick,brutus1,lowdown,haribo,lovesexy,500000,thissuck,picker,stephy,1fuckme,characte,telecast,1bigdog,repytwjdf,thematrix,hammerhe,chucha,ganesha,gunsmoke,georgi,sheltie,1harley,knulla,sallas,westie,dragon7,conker,crappie,margosha,lisboa,3e2w1q,shrike,grifter,ghjcnjghjcnj,asdfg1,mnbvcxz1,myszka,posture,boggie,rocketman,flhtyfkby,twiztid,vostok,pi314159,force1,televizor,gtkmvtym,samhain,imcool,jadzia,dreamers,strannik,k2trix,steelhea,nikitin,commodor,brian123,chocobo,whopper,ibilljpf,megafon,ararat,thomas12,ghbrjkbcn,q1234567890,hibernia,kings1,jim123,redfive,68camaro,iawgk2,xavier1,1234567u,d123456,ndirish,airborn,halfmoon,fluffy1,ranchero,sneaker,soccer2,passion1,cowman,birthday1,johnn,razzle,glock17,wsxqaz,nubian,lucky2,jelly1,henderso,eric1,123123e,boscoe01,fuck0ff,simpson1,sassie,rjyjgkz,nascar3,watashi,loredana,janus,wilso,conman,david2,mothe,iloveher,snikers,davidj,fkmnthyfnbdf,mettss,ratfink,123456h,lostsoul,sweet16,brabus,wobble,petra1,fuckfest,otters,sable1,svetka,spartacu,bigstick,milashka,1lover,pasport,champagn,papichul,hrvatska,hondacivic,kevins,tacit,moneybag,gohogs,rasta1,246813579,ytyfdbcnm,gubber,darkmoon,vitaliy,233223,playboys,tristan1,joyce1,oriflame,mugwump,access2,autocad,thematri,qweqwe123,lolwut,ibill01,multisyn,1233211,pelikan,rob123,chacal,1234432,griffon,pooch,dagestan,geisha,satriani,anjali,rocketma,gixxer,pendrago,vincen,hellokit,killyou,ruger,doodah,bumblebe,badlands,galactic,emachines,foghorn,jackso,jerem,avgust,frontera,123369,daisymae,hornyboy,welcome123,tigger01,diabl,angel13,interex,iwantsex,rockydog,kukolka,sawdust,online1,3234412,bigpapa,jewboy,3263827,dave123,riches,333222,tony1,toggle,farter,124816,tities,balle,brasilia,southsid,micke,ghbdtn12,patit,ctdfcnjgjkm,olds442,zzzzzz1,nelso,gremlins,gypsy1,carter1,slut69,farcry,7415963,michael8,birdie1,charl,123456789abc,100001,aztec,sinjin,bigpimpi,closeup,atlas1,nvidia,doggone,classic1,manana,malcolm1,rfkbyf,hotbabe,rajesh,dimebag,ganjubas,rodion,jagr68,seren,syrinx,funnyman,karapuz,123456789n,bloomin,admin18533362,biggdogg,ocarina,poopy1,hellome,internet1,booties,blowjobs,matt1,donkey1,swede,1jennife,evgeniya,lfhbyf,coach1,444777,green12,patryk,pinewood,justin12,271828,89600506779,notredame,tuborg,lemond,sk8ter,million1,wowser,pablo1,st0n3,jeeves,funhouse,hiroshi,gobucs,angeleye,bereza,winter12,catalin,qazedc,andros,ramazan,vampyre,sweethea,imperium,murat,jamest,flossy,sandeep,morgen,salamandra,bigdogg,stroller,njdevils,nutsack,vittorio,%%passwo,playful,rjyatnrf,tookie,ubnfhf,michi,777444,shadow13,devils1,radiance,toshiba1,beluga,amormi,dandfa,trust1,killemall,smallville,polgara,billyb,landscap,steves,exploite,zamboni,damage11,dzxtckfd,trader12,pokey1,kobe08,damager,egorov,dragon88,ckfdbr,lisa69,blade2,audis4,nelson1,nibbles,23176djivanfros,mutabor,artofwar,matvei,metal666,hrfzlz,schwinn,poohbea,seven77,thinker,123456789qwerty,sobriety,jakers,karamelka,vbkfyf,volodin,iddqd,dale03,roberto1,lizaveta,qqqqqq1,cathy1,08154711,davidm,quixote,bluenote,tazdevil,katrina1,bigfoot1,bublik,marma,olechka,fatpussy,marduk,arina,nonrev67,qqqq1111,camill,wtpfhm,truffle,fairview,mashina,voltaire,qazxswedcvfr,dickface,grassy,lapdance,bosstone,crazy8,yackwin,mobil,danielit,mounta1n,player69,bluegill,mewtwo,reverb,cnthdf,pablito,a123321,elena1,warcraft1,orland,ilovemyself,rfntyjr,joyride,schoo,dthjxrf,thetachi,goodtimes,blacksun,humpty,chewbacca,guyute,123xyz,lexicon,blue45,qwe789,galatasaray,centrino,hendrix1,deimos,saturn5,craig1,vlad1996,sarah123,tupelo,ljrnjh,hotwife,bingos,1231231,nicholas1,flamer,pusher,1233210,heart1,hun999,jiggy,giddyup,oktober,123456zxc,budda,galahad,glamur,samwise,oneton,bugsbunny,dominic1,scooby2,freetime,internat,159753852,sc00ter,wantit,mazinger,inflames,laracrof,greedo,014789,godofwar,repytwjd,water123,fishnet,venus1,wallace1,tenpin,paula1,1475963,mania,novikov,qwertyasdfgh,goldmine,homies,777888999,8balls,holeinon,paper1,samael,013579,mansur,nikit,ak1234,blueline,polska1,hotcock,laredo,windstar,vbkbwbz,raider1,newworld,lfybkrf,catfish1,shorty1,piranha,treacle,royale,2234562,smurfs,minion,cadence,flapjack,123456p,sydne,135531,robinhoo,nasdaq,decatur,cyberonline,newage,gemstone,jabba,touchme,hooch,pigdog,indahous,fonzie,zebra1,juggle,patrick2,nihongo,hitomi,oldnavy,qwerfdsa,ukraina,shakti,allure,kingrich,diane1,canad,piramide,hottie1,clarion,college1,5641110,connect1,therion,clubber,velcro,dave1,astra1,13579-,astroboy,skittle,isgreat,photoes,cvzefh1gkc,001100,2cool4u,7555545,ginger12,2wsxcde3,camaro69,invader,domenow,asd1234,colgate,qwertasdfg,jack123,pass01,maxman,bronte,whkzyc,peter123,bogie,yecgaa,abc321,1qay2wsx,enfield,camaroz2,trashman,bonefish,system32,azsxdcfvgb,peterose,iwantyou,dick69,temp1234,blastoff,capa200,connie1,blazin,12233445,sexybaby,123456j,brentfor,pheasant,hommer,jerryg,thunders,august1,lager,kapusta,boobs1,nokia5300,rocco1,xytfu7,stars1,tugger,123sas,blingbling,1bubba,0wnsyo0,1george,baile,richard2,habana,1diamond,sensatio,1golfer,maverick1,1chris,clinton1,michael7,dragons1,sunrise1,pissant,fatim,mopar1,levani,rostik,pizzapie,987412365,oceans11,748159263,cum4me,palmetto,4r3e2w1q,paige1,muncher,arsehole,kratos,gaffer,banderas,billys,prakash,crabby,bungie,silver12,caddis,spawn1,xboxlive,sylvania,littlebi,524645,futura,valdemar,isacs155,prettygirl,big123,555444,slimer,chicke,newstyle,skypilot,sailormoon,fatluvr69,jetaime,sitruc,jesuschrist,sameer,bear12,hellion,yendor,country1,etnies,conejo,jedimast,darkknight,toobad,yxcvbn,snooks,porn4life,calvary,alfaromeo,ghostman,yannick,fnkfynblf,vatoloco,homebase,5550666,barret,1111111111zz,odysseus,edwardss,favre4,jerrys,crybaby,xsw21qaz,firestor,spanks,indians1,squish,kingair,babycakes,haters,sarahs,212223,teddyb,xfactor,cumload,rhapsody,death123,three3,raccoon,thomas2,slayer66,1q2q3q4q5q,thebes,mysterio,thirdeye,orkiox.,nodoubt,bugsy,schweiz,dima1996,angels1,darkwing,jeronimo,moonpie,ronaldo9,peaches2,mack10,manish,denise1,fellowes,carioca,taylor12,epaulson,makemoney,oc247ngucz,kochanie,3edcvfr4,vulture,1qw23e,1234567z,munchie,picard1,xthtgfirf,sportste,psycho1,tahoe1,creativ,perils,slurred,hermit,scoob,diesel1,cards1,wipeout,weeble,integra1,out3xf,powerpc,chrism,kalle,ariadne,kailua,phatty,dexter1,fordman,bungalow,paul123,compa,train1,thejoker,jys6wz,pussyeater,eatmee,sludge,dominus,denisa,tagheuer,yxcvbnm,bill1,ghfdlf,300zx,nikita123,carcass,semaj,ramone,muenchen,animal1,greeny,annemari,dbrf134,jeepcj7,mollys,garten,sashok,ironmaid,coyotes,astoria,george12,westcoast,primetim,123456o,panchito,rafae,japan1,framer,auralo,tooshort,egorova,qwerty22,callme,medicina,warhawk,w1w2w3w4,cristia,merli,alex22,kawaii,chatte,wargames,utvols,muaddib,trinket,andreas1,jjjjj1,cleric,scooters,cuntlick,gggggg1,slipknot1,235711,handcuff,stussy,guess1,leiceste,ppppp1,passe,lovegun,chevyman,hugecock,driver1,buttsex,psychnaut1,cyber1,black2,alpha12,melbourn,man123,metalman,yjdsqujl,blondi,bungee,freak1,stomper,caitlin1,nikitina,flyaway,prikol,begood,desperad,aurelius,john1234,whosyourdaddy,slimed123,bretagne,den123,hotwheel,king123,roodypoo,izzicam,save13tx,warpten,nokia3310,samolet,ready1,coopers,scott123,bonito,1aaaaa,yomomma,dawg1,rache,itworks,asecret,fencer,451236,polka,olivetti,sysadmin,zepplin,sanjuan,479373,lickem,hondacrx,pulamea,future1,naked1,sexyguy,w4g8at,lollol1,declan,runner1,rumple,daddy123,4snz9g,grandprix,calcio,whatthefuck,nagrom,asslick,pennst,negrit,squiggy,1223334444,police22,giovann,toronto1,tweet,yardbird,seagate,truckers,554455,scimitar,pescator,slydog,gaysex,dogfish,fuck777,12332112,qazxswed,morkovka,daniela1,imback,horny69,789123456,123456789w,jimmy2,bagger,ilove69,nikolaus,atdhfkm,rebirth,1111aaaa,pervasive,gjgeufq,dte4uw,gfhnbpfy,skeletor,whitney1,walkman,delorean,disco1,555888,as1234,ishikawa,fuck12,reaper1,dmitrii,bigshot,morrisse,purgen,qwer4321,itachi,willys,123123qwe,kisska,roma123,trafford,sk84life,326159487,pedros,idiom,plover,bebop,159875321,jailbird,arrowhea,qwaszx123,zaxscdvf,catlover,bakers,13579246,bones69,vermont1,helloyou,simeon,chevyz71,funguy,stargaze,parolparol,steph1,bubby,apathy,poppet,laxman,kelly123,goodnews,741236,boner1,gaetano,astonvilla,virtua,luckyboy,rocheste,hello2u,elohim,trigger1,cstrike,pepsicola,miroslav,96385274,fistfuck,cheval,magyar,svetlanka,lbfyjxrf,mamedov,123123123q,ronaldo1,scotty1,1nicole,pittbull,fredd,bbbbb1,dagwood,gfhkfvtyn,ghblehrb,logan5,1jordan,sexbomb,omega2,montauk,258741,dtythf,gibbon,winamp,thebomb,millerli,852654,gemin,baldy,halflife2,dragon22,mulberry,morrigan,hotel6,zorglub,surfin,951159,excell,arhangel,emachine,moses1,968574,reklama,bulldog2,cuties,barca,twingo,saber,elite11,redtruck,casablan,ashish,moneyy,pepper12,cnhtktw,rjcnbr,arschloch,phenix,cachorro,sunita,madoka,joselui,adams1,mymoney,hemicuda,fyutkjr,jake12,chicas,eeeee1,sonnyboy,smarties,birdy,kitten1,cnfcbr,island1,kurosaki,taekwond,konfetka,bennett1,omega3,jackson2,fresca,minako,octavian,kban667,feyenoord,muaythai,jakedog,fktrcfylhjdyf,1357911q,phuket,sexslave,fktrcfylhjdbx,asdfjk,89015173454,qwerty00,kindbud,eltoro,sex6969,nyknicks,12344321q,caballo,evenflow,hoddle,love22,metro1,mahalko,lawdog,tightass,manitou,buckie,whiskey1,anton123,335533,password4,primo,ramair,timbo,brayden,stewie,pedro1,yorkshir,ganster,hellothe,tippy1,direwolf,genesi,rodrig,enkeli,vaz21099,sorcerer,winky,oneshot,boggle,serebro,badger1,japanes,comicbook,kamehame,alcat,denis123,echo45,sexboy,gr8ful,hondo,voetbal,blue33,2112rush,geneviev,danni1,moosey,polkmn,matthew7,ironhead,hot2trot,ashley12,sweeper,imogen,blue21,retep,stealth1,guitarra,bernard1,tatian,frankfur,vfnhbwf,slacking,haha123,963741,asdasdas,katenok,airforce1,123456789qaz,shotgun1,12qwasz,reggie1,sharo,976431,pacifica,dhip6a,neptun,kardon,spooky1,beaut,555555a,toosweet,tiedup,11121314,startac,lover69,rediska,pirata,vfhrbp,1234qwerty,energize,hansolo1,playbo,larry123,oemdlg,cnjvfnjkju,a123123,alexan,gohawks,antonius,fcbayern,mambo,yummy1,kremlin,ellen1,tremere,vfiekz,bellevue,charlie9,izabella,malishka,fermat,rotterda,dawggy,becket,chasey,kramer1,21125150,lolit,cabrio,schlong,arisha,verity,3some,favorit,maricon,travelle,hotpants,red1234,garrett1,home123,knarf,seven777,figment,asdewq,canseco,good2go,warhol,thomas01,pionee,al9agd,panacea,chevy454,brazzers,oriole,azerty123,finalfan,patricio,northsta,rebelde,bulldo,stallone,boogie1,7uftyx,cfhfnjd,compusa,cornholi,config,deere,hoopster,sepultura,grasshop,babygurl,lesbo,diceman,proverbs,reddragon,nurbek,tigerwoo,superdup,buzzsaw,kakaroto,golgo13,edwar,123qaz123,butter1,sssss1,texas2,respekt,ou812ic,123456qaz,55555a,doctor1,mcgwire,maria123,aol999,cinders,aa1234,joness,ghbrjkmyj,makemone,sammyboy,567765,380zliki,theraven,testme,mylene,elvira26,indiglo,tiramisu,shannara,baby1,123666,gfhreh,papercut,johnmish,orange8,bogey1,mustang7,bagpipes,dimarik,vsijyjr,4637324,ravage,cogito,seven11,natashka,warzone,hr3ytm,4free,bigdee,000006,243462536,bigboi,123333,trouts,sandy123,szevasz,monica2,guderian,newlife1,ratchet,r12345,razorbac,12345i,piazza31,oddjob,beauty1,fffff1,anklet,nodrog,pepit,olivi,puravida,robert12,transam1,portman,bubbadog,steelers1,wilson1,eightball,mexico1,superboy,4rfv5tgb,mzepab,samurai1,fuckslut,colleen1,girdle,vfrcbvec,q1w2e3r4t,soldier1,19844891,alyssa1,a12345a,fidelis,skelter,nolove,mickeymouse,frehley,password69,watermel,aliska,soccer15,12345e,ladybug1,abulafia,adagio,tigerlil,takehana,hecate,bootneck,junfan,arigato,wonkette,bobby123,trustnoone,phantasm,132465798,brianjo,w12345,t34vfrc1991,deadeye,1robert,1daddy,adida,check1,grimlock,muffi,airwalk,prizrak,onclick,longbeac,ernie1,eadgbe,moore1,geniu,shadow123,bugaga,jonathan1,cjrjkjdf,orlova,buldog,talon1,westport,aenima,541233432442,barsuk,chicago2,kellys,hellbent,toughguy,iskander,skoal,whatisit,jake123,scooter2,fgjrfkbgcbc,ghandi,love13,adelphia,vjhrjdrf,adrenali,niunia,jemoeder,rainbo,all4u8,anime1,freedom7,seraph,789321,tommys,antman,firetruc,neogeo,natas,bmwm3,froggy1,paul1,mamit,bayview,gateways,kusanagi,ihateu,frederi,rock1,centurion,grizli,biggin,fish1,stalker1,3girls,ilovepor,klootzak,lollo,redsox04,kirill123,jake1,pampers,vasya,hammers1,teacup,towing,celtic1,ishtar,yingyang,4904s677075,dahc1,patriot1,patrick9,redbirds,doremi,rebecc,yoohoo,makarova,epiphone,rfgbnfy,milesd,blister,chelseafc,katana1,blackrose,1james,primrose,shock5,hard1,scooby12,c6h12o6,dustoff,boing,chisel,kamil,1william,defiant1,tyvugq,mp8o6d,aaa340,nafets,sonnet,flyhigh,242526,crewcom,love23,strike1,stairway,katusha,salamand,cupcake1,password0,007james,sunnie,multisync,harley01,tequila1,fred12,driver8,q8zo8wzq,hunter01,mozzer,temporar,eatmeraw,mrbrownxx,kailey,sycamore,flogger,tincup,rahasia,ganymede,bandera,slinger,1111122222,vander,woodys,1cowboy,khaled,jamies,london12,babyboo,tzpvaw,diogenes,budice,mavrick,135797531,cheeta,macros,squonk,blackber,topfuel,apache1,falcon16,darkjedi,cheeze,vfhvtkfl,sparco,change1,gfhfif,freestyl,kukuruza,loveme2,12345f,kozlov,sherpa,marbella,44445555,bocephus,1winner,alvar,hollydog,gonefish,iwantin,barman,godislove,amanda18,rfpfynbg,eugen,abcdef1,redhawk,thelema,spoonman,baller1,harry123,475869,tigerman,cdtnjxrf,marillio,scribble,elnino,carguy,hardhead,l2g7k3,troopers,selen,dragon76,antigua,ewtosi,ulysse,astana,paroli,cristo,carmex,marjan,bassfish,letitbe,kasparov,jay123,19933991,blue13,eyecandy,scribe,mylord,ukflbjkec,ellie1,beaver1,destro,neuken,halfpint,ameli,lilly1,satanic,xngwoj,12345trewq,asdf1,bulldogg,asakura,jesucrist,flipside,packers4,biggy,kadett,biteme69,bobdog,silverfo,saint1,bobbo,packman,knowledg,foolio,fussbal,12345g,kozerog,westcoas,minidisc,nbvcxw,martini1,alastair,rasengan,superbee,memento,porker,lena123,florenc,kakadu,bmw123,getalife,bigsky,monkee,people1,schlampe,red321,memyself,0147896325,12345678900987654321,soccer14,realdeal,gfgjxrf,bella123,juggs,doritos,celtics1,peterbilt,ghbdtnbrb,gnusmas,xcountry,ghbdtn1,batman99,deusex,gtnhjdf,blablabl,juster,marimba,love2,rerjkrf,alhambra,micros,siemens1,assmaste,moonie,dashadasha,atybrc,eeeeee1,wildrose,blue55,davidl,xrp23q,skyblue,leo123,ggggg1,bestfriend,franny,1234rmvb,fun123,rules1,sebastien,chester2,hakeem,winston2,fartripper,atlant,07831505,iluvsex,q1a2z3,larrys,009900,ghjkju,capitan,rider1,qazxsw21,belochka,andy123,hellya,chicca,maximal,juergen,password1234,howard1,quetzal,daniel123,qpwoeiruty,123555,bharat,ferrari3,numbnuts,savant,ladydog,phipsi,lovepussy,etoile,power2,mitten,britneys,chilidog,08522580,2fchbg,kinky1,bluerose,loulo,ricardo1,doqvq3,kswbdu,013cpfza,timoha,ghbdtnghbdtn,3stooges,gearhead,browns1,g00ber,super7,greenbud,kitty2,pootie,toolshed,gamers,coffe,ibill123,freelove,anasazi,sister1,jigger,natash,stacy1,weronika,luzern,soccer7,hoopla,dmoney,valerie1,canes,razdvatri,washere,greenwoo,rfhjkbyf,anselm,pkxe62,maribe,daniel2,maxim1,faceoff,carbine,xtkjdtr,buddy12,stratos,jumpman,buttocks,aqswdefr,pepsis,sonechka,steeler1,lanman,nietzsch,ballz,biscuit1,wrxsti,goodfood,juventu,federic,mattman,vika123,strelec,jledfyxbr,sideshow,4life,fredderf,bigwilly,12347890,12345671,sharik,bmw325i,fylhtqrf,dannon4,marky,mrhappy,drdoom,maddog1,pompier,cerbera,goobers,howler,jenny69,evely,letitrid,cthuttdyf,felip,shizzle,golf12,t123456,yamah,bluearmy,squishy,roxan,10inches,dollface,babygirl1,blacksta,kaneda,lexingto,canadien,222888,kukushka,sistema,224422,shadow69,ppspankp,mellons,barbie1,free4all,alfa156,lostone,2w3e4r5t,painkiller,robbie1,binger,8dihc6,jaspe,rellik,quark,sogood,hoopstar,number2,snowy1,dad2ownu,cresta,qwe123asd,hjvfyjdf,gibsonsg,qbg26i,dockers,grunge,duckling,lfiekz,cuntsoup,kasia1,1tigger,woaini,reksio,tmoney,firefighter,neuron,audia3,woogie,powerboo,powermac,fatcock,12345666,upnfmc,lustful,porn1,gotlove,amylee,kbytqrf,11924704,25251325,sarasota,sexme,ozzie1,berliner,nigga1,guatemal,seagulls,iloveyou!,chicken2,qwerty21,010203040506,1pillow,libby1,vodoley,backlash,piglets,teiubesc,019283,vonnegut,perico,thunde,buckey,gtxtymrf,manunite,iiiii1,lost4815162342,madonn,270873_,britney1,kevlar,piano1,boondock,colt1911,salamat,doma77ns,anuradha,cnhjqrf,rottweil,newmoon,topgun1,mauser,fightclu,birthday21,reviewpa,herons,aassddff,lakers32,melissa2,vredina,jiujitsu,mgoblue,shakey,moss84,12345zxcvb,funsex,benji1,garci,113322,chipie,windex,nokia5310,pwxd5x,bluemax,cosita,chalupa,trotsky,new123,g3ujwg,newguy,canabis,gnaget,happydays,felixx,1patrick,cumface,sparkie,kozlova,123234,newports,broncos7,golf18,recycle,hahah,harrypot,cachondo,open4me,miria,guessit,pepsione,knocker,usmc1775,countach,playe,wiking,landrover,cracksevi,drumline,a7777777,smile123,manzana,panty,liberta,pimp69,dolfan,quality1,schnee,superson,elaine22,webhompass,mrbrownx,deepsea,4wheel,mamasita,rockport,rollie,myhome,jordan12,kfvgjxrf,hockey12,seagrave,ford1,chelsea2,samsara,marissa1,lamesa,mobil1,piotrek,tommygun,yyyyy1,wesley1,billy123,homersim,julies,amanda12,shaka,maldini,suzenet,springst,iiiiii1,yakuza,111111aa,westwind,helpdesk,annamari,bringit,hopefull,hhhhhhh1,saywhat,mazdarx8,bulova,jennife1,baikal,gfhjkmxbr,victoria1,gizmo123,alex99,defjam,2girls,sandrock,positivo,shingo,syncmast,opensesa,silicone,fuckina,senna1,karlos,duffbeer,montagne,gehrig,thetick,pepino,hamburge,paramedic,scamp,smokeweed,fabregas,phantoms,venom121293,2583458,badone,porno69,manwhore,vfvf123,notagain,vbktyf,rfnthbyrf,wildblue,kelly001,dragon66,camell,curtis1,frolova,1212123,dothedew,tyler123,reddrago,planetx,promethe,gigolo,1001001,thisone,eugeni,blackshe,cruzazul,incognito,puller,joonas,quick1,spirit1,gazza,zealot,gordito,hotrod1,mitch1,pollito,hellcat,mythos,duluth,383pdjvl,easy123,hermos,binkie,its420,lovecraf,darien,romina,doraemon,19877891,syclone,hadoken,transpor,ichiro,intell,gargamel,dragon2,wavpzt,557744,rjw7x4,jennys,kickit,rjynfrn,likeit,555111,corvus,nec3520,133113,mookie1,bochum,samsung2,locoman0,154ugeiu,vfvfbgfgf,135792,[start],tenni,20001,vestax,hufmqw,neveragain,wizkid,kjgfnf,nokia6303,tristen,saltanat,louie1,gandalf2,sinfonia,alpha3,tolstoy,ford150,f00bar,1hello,alici,lol12,riker1,hellou,333888,1hunter,qw1234,vibrator,mets86,43211234,gonzale,cookies1,sissy1,john11,bubber,blue01,cup2006,gtkmvtyb,nazareth,heybaby,suresh,teddie,mozilla,rodeo1,madhouse,gamera,123123321,naresh,dominos,foxtrot1,taras,powerup,kipling,jasonb,fidget,galena,meatman,alpacino,bookmark,farting,humper,titsnass,gorgon,castaway,dianka,anutka,gecko1,fucklove,connery,wings1,erika1,peoria,moneymaker,ichabod,heaven1,paperboy,phaser,breakers,nurse1,westbrom,alex13,brendan1,123asd123,almera,grubber,clarkie,thisisme,welkom01,51051051051,crypto,freenet,pflybwf,black12,testme2,changeit,autobahn,attica,chaoss,denver1,tercel,gnasher23,master2,vasilii,sherman1,gomer,bigbuck,derek1,qwerzxcv,jumble,dragon23,art131313,numark,beasty,cxfcnmttcnm,updown,starion,glist,sxhq65,ranger99,monkey7,shifter,wolves1,4r5t6y,phone1,favorite5,skytommy,abracada,1martin,102030405060,gatech,giulio,blacktop,cheer1,africa1,grizzly1,inkjet,shemales,durango1,booner,11223344q,supergirl,vanyarespekt,dickless,srilanka,weaponx,6string,nashvill,spicey,boxer1,fabien,2sexy2ho,bowhunt,jerrylee,acrobat,tawnee,ulisse,nolimit8,l8g3bkde,pershing,gordo1,allover,gobrowns,123432,123444,321456987,spoon1,hhhhh1,sailing1,gardenia,teache,sexmachine,tratata,pirate1,niceone,jimbos,314159265,qsdfgh,bobbyy,ccccc1,carla1,vjkjltw,savana,biotech,frigid,123456789g,dragon10,yesiam,alpha06,oakwood,tooter,winsto,radioman,vavilon,asnaeb,google123,nariman,kellyb,dthyjcnm,password6,parol1,golf72,skate1,lthtdj,1234567890s,kennet,rossia,lindas,nataliya,perfecto,eminem1,kitana,aragorn1,rexona,arsenalf,planot,coope,testing123,timex,blackbox,bullhead,barbarian,dreamon,polaris1,cfvjktn,frdfhbev,gametime,slipknot666,nomad1,hfgcjlbz,happy69,fiddler,brazil1,joeboy,indianali,113355,obelisk,telemark,ghostrid,preston1,anonim,wellcome,verizon1,sayangku,censor,timeport,dummies,adult1,nbnfybr,donger,thales,iamgay,sexy1234,deadlift,pidaras,doroga,123qwe321,portuga,asdfgh12,happys,cadr14nu,pi3141,maksik,dribble,cortland,darken,stepanova,bommel,tropic,sochi2014,bluegras,shahid,merhaba,nacho,2580456,orange44,kongen,3cudjz,78girl,my3kids,marcopol,deadmeat,gabbie,saruman,jeepman,freddie1,katie123,master99,ronal,ballbag,centauri,killer7,xqgann,pinecone,jdeere,geirby,aceshigh,55832811,pepsimax,rayden,razor1,tallyho,ewelina,coldfire,florid,glotest,999333,sevenup,bluefin,limaperu,apostol,bobbins,charmed1,michelin,sundin,centaur,alphaone,christof,trial1,lions1,45645,just4you,starflee,vicki1,cougar1,green2,jellyfis,batman69,games1,hihje863,crazyzil,w0rm1,oklick,dogbite,yssup,sunstar,paprika,postov10,124578963,x24ik3,kanada,buckster,iloveamy,bear123,smiler,nx74205,ohiostat,spacey,bigbill,doudo,nikolaeva,hcleeb,sex666,mindy1,buster11,deacons,boness,njkcnsq,candy2,cracker1,turkey1,qwertyu1,gogreen,tazzzz,edgewise,ranger01,qwerty6,blazer1,arian,letmeinnow,cigar1,jjjjjj1,grigio,frien,tenchu,f9lmwd,imissyou,filipp,heathers,coolie,salem1,woodduck,scubadiv,123kat,raffaele,nikolaev,dapzu455,skooter,9inches,lthgfhjkm,gr8one,ffffff1,zujlrf,amanda69,gldmeo,m5wkqf,rfrltkf,televisi,bonjou,paleale,stuff1,cumalot,fuckmenow,climb7,mark1234,t26gn4,oneeye,george2,utyyflbq,hunting1,tracy71,ready2go,hotguy,accessno,charger1,rudedog,kmfdm,goober1,sweetie1,wtpmjgda,dimensio,ollie1,pickles1,hellraiser,mustdie,123zzz,99887766,stepanov,verdun,tokenbad,anatol,bartende,cidkid86,onkelz,timmie,mooseman,patch1,12345678c,marta1,dummy1,bethany1,myfamily,history1,178500,lsutiger,phydeaux,moren,dbrnjhjdbx,gnbxrf,uniden,drummers,abpbrf,godboy,daisy123,hogan1,ratpack,irland,tangerine,greddy,flore,sqrunch,billyjoe,q55555,clemson1,98745632,marios,ishot,angelin,access12,naruto12,lolly,scxakv,austin12,sallad,cool99,rockit,mongo1,mark22,ghbynth,ariadna,senha,docto,tyler2,mobius,hammarby,192168,anna12,claire1,pxx3eftp,secreto,greeneye,stjabn,baguvix,satana666,rhbcnbyjxrf,dallastx,garfiel,michaelj,1summer,montan,1234ab,filbert,squids,fastback,lyudmila,chucho,eagleone,kimberle,ar3yuk3,jake01,nokids,soccer22,1066ad,ballon,cheeto,review69,madeira,taylor2,sunny123,chubbs,lakeland,striker1,porche,qwertyu8,digiview,go1234,ferari,lovetits,aditya,minnow,green3,matman,cellphon,fortytwo,minni,pucara,69a20a,roman123,fuente,12e3e456,paul12,jacky,demian,littleman,jadakiss,vlad1997,franca,282860,midian,nunzio,xaccess2,colibri,jessica0,revilo,654456,harvey1,wolf1,macarena,corey1,husky1,arsen,milleniu,852147,crowes,redcat,combat123654,hugger,psalms,quixtar,ilovemom,toyot,ballss,ilovekim,serdar,james23,avenger1,serendip,malamute,nalgas,teflon,shagger,letmein6,vyjujnjxbt,assa1234,student1,dixiedog,gznybwf13,fuckass,aq1sw2de3,robroy,hosehead,sosa21,123345,ias100,teddy123,poppin,dgl70460,zanoza,farhan,quicksilver,1701d,tajmahal,depechemode,paulchen,angler,tommy2,recoil,megamanx,scarecro,nicole2,152535,rfvtgb,skunky,fatty1,saturno,wormwood,milwauke,udbwsk,sexlover,stefa,7bgiqk,gfnhbr,omar10,bratan,lbyfvj,slyfox,forest1,jambo,william3,tempus,solitari,lucydog,murzilka,qweasdzxc1,vehpbkrf,12312345,fixit,woobie,andre123,123456789x,lifter,zinaida,soccer17,andone,foxbat,torsten,apple12,teleport,123456i,leglover,bigcocks,vologda,dodger1,martyn,d6o8pm,naciona,eagleeye,maria6,rimshot,bentley1,octagon,barbos,masaki,gremio,siemen,s1107d,mujeres,bigtits1,cherr,saints1,mrpink,simran,ghzybr,ferrari2,secret12,tornado1,kocham,picolo,deneme,onelove1,rolan,fenster,1fuckyou,cabbie,pegaso,nastyboy,password5,aidana,mine2306,mike13,wetone,tigger69,ytreza,bondage1,myass,golova,tolik,happyboy,poilkj,nimda2k,rammer,rubies,hardcore1,jetset,hoops1,jlaudio,misskitt,1charlie,google12,theone1,phred,porsch,aalborg,luft4,charlie5,password7,gnosis,djgabbab,1daniel,vinny,borris,cumulus,member1,trogdor,darthmau,andrew2,ktjybl,relisys,kriste,rasta220,chgobndg,weener,qwerty66,fritter,followme,freeman1,ballen,blood1,peache,mariso,trevor1,biotch,gtfullam,chamonix,friendste,alligato,misha1,1soccer,18821221,venkat,superd,molotov,bongos,mpower,acun3t1x,dfcmrf,h4x3d,rfhfufylf,tigran,booyaa,plastic1,monstr,rfnhby,lookatme,anabolic,tiesto,simon123,soulman,canes1,skyking,tomcat1,madona,bassline,dasha123,tarheel1,dutch1,xsw23edc,qwerty123456789,imperator,slaveboy,bateau,paypal,house123,pentax,wolf666,drgonzo,perros,digger1,juninho,hellomoto,bladerun,zzzzzzz1,keebler,take8422,fffffff1,ginuwine,israe,caesar1,crack1,precious1,garand,magda1,zigazaga,321ewq,johnpaul,mama1234,iceman69,sanjeev,treeman,elric,rebell,1thunder,cochon,deamon,zoltan,straycat,uhbyuj,luvfur,mugsy,primer,wonder1,teetime,candycan,pfchfytw,fromage,gitler,salvatio,piggy1,23049307,zafira,chicky,sergeev,katze,bangers,andriy,jailbait,vaz2107,ghbhjlf,dbjktnnf,aqswde,zaratustra,asroma,1pepper,alyss,kkkkk1,ryan1,radish,cozumel,waterpol,pentium1,rosebowl,farmall,steinway,dbrekz,baranov,jkmuf,another1,chinacat,qqqqqqq1,hadrian,devilmaycry4,ratbag,teddy2,love21,pullings,packrat,robyn1,boobo,qw12er34,tribe1,rosey,celestia,nikkie,fortune12,olga123,danthema,gameon,vfrfhjys,dilshod,henry14,jenova,redblue,chimaera,pennywise,sokrates,danimal,qqaazz,fuaqz4,killer2,198200,tbone1,kolyan,wabbit,lewis1,maxtor,egoist,asdfas,spyglass,omegas,jack12,nikitka,esperanz,doozer,matematika,wwwww1,ssssss1,poiu0987,suchka,courtney1,gungho,alpha2,fktyjxrf,summer06,bud420,devildriver,heavyd,saracen,foucault,choclate,rjdfktyrj,goblue1,monaro,jmoney,dcpugh,efbcapa201,qqh92r,pepsicol,bbb747,ch5nmk,honeyb,beszoptad,tweeter,intheass,iseedeadpeople,123dan,89231243658s,farside1,findme,smiley1,55556666,sartre,ytcnjh,kacper,costarica,134679258,mikeys,nolimit9,vova123,withyou,5rxypn,love143,freebie,rescue1,203040,michael6,12monkey,redgreen,steff,itstime,naveen,good12345,acidrain,1dawg,miramar,playas,daddio,orion2,852741,studmuff,kobe24,senha123,stephe,mehmet,allalone,scarface1,helloworld,smith123,blueyes,vitali,memphis1,mybitch,colin1,159874,1dick,podaria,d6wnro,brahms,f3gh65,dfcbkmtd,xxxman,corran,ugejvp,qcfmtz,marusia,totem,arachnid,matrix2,antonell,fgntrf,zemfira,christos,surfing1,naruto123,plato1,56qhxs,madzia,vanille,043aaa,asq321,mutton,ohiostate,golde,cdznjckfd,rhfcysq,green5,elephan,superdog,jacqueli,bollock,lolitas,nick12,1orange,maplelea,july23,argento,waldorf,wolfer,pokemon12,zxcvbnmm,flicka,drexel,outlawz,harrie,atrain,juice2,falcons1,charlie6,19391945,tower1,dragon21,hotdamn,dirtyboy,love4ever,1ginger,thunder2,virgo1,alien1,bubblegu,4wwvte,123456789qqq,realtime,studio54,passss,vasilek,awsome,giorgia,bigbass,2002tii,sunghile,mosdef,simbas,count0,uwrl7c,summer05,lhepmz,ranger21,sugarbea,principe,5550123,tatanka,9638v,cheerios,majere,nomercy,jamesbond007,bh90210,7550055,jobber,karaganda,pongo,trickle,defamer,6chid8,1q2a3z,tuscan,nick123,.adgjm,loveyo,hobbes1,note1234,shootme,171819,loveporn,9788960,monty123,fabrice,macduff,monkey13,shadowfa,tweeker,hanna1,madball,telnet,loveu2,qwedcxzas,thatsit,vfhcbr,ptfe3xxp,gblfhfcs,ddddddd1,hakkinen,liverune,deathsta,misty123,suka123,recon1,inferno1,232629,polecat,sanibel,grouch,hitech,hamradio,rkfdbfnehf,vandam,nadin,fastlane,shlong,iddqdidkfa,ledzeppelin,sexyfeet,098123,stacey1,negras,roofing,lucifer1,ikarus,tgbyhn,melnik,barbaria,montego,twisted1,bigal1,jiggle,darkwolf,acerview,silvio,treetops,bishop1,iwanna,pornsite,happyme,gfccdjhl,114411,veritech,batterse,casey123,yhntgb,mailto,milli,guster,q12345678,coronet,sleuth,fuckmeha,armadill,kroshka,geordie,lastochka,pynchon,killall,tommy123,sasha1996,godslove,hikaru,clticic,cornbrea,vfkmdbyf,passmaster,123123123a,souris,nailer,diabolo,skipjack,martin12,hinata,mof6681,brookie,dogfight,johnso,karpov,326598,rfvbrflpt,travesti,caballer,galaxy1,wotan,antoha,art123,xakep1234,ricflair,pervert1,p00kie,ambulanc,santosh,berserker,larry33,bitch123,a987654321,dogstar,angel22,cjcbcrf,redhouse,toodles,gold123,hotspot,kennedy1,glock21,chosen1,schneide,mainman,taffy1,3ki42x,4zqauf,ranger2,4meonly,year2000,121212a,kfylsi,netzwerk,diese,picasso1,rerecz,225522,dastan,swimmer1,brooke1,blackbea,oneway,ruslana,dont4get,phidelt,chrisp,gjyxbr,xwing,kickme,shimmy,kimmy1,4815162342lost,qwerty5,fcporto,jazzbo,mierd,252627,basses,sr20det,00133,florin,howdy1,kryten,goshen,koufax,cichlid,imhotep,andyman,wrest666,saveme,dutchy,anonymou,semprini,siempre,mocha1,forest11,wildroid,aspen1,sesam,kfgekz,cbhbec,a55555,sigmanu,slash1,giggs11,vatech,marias,candy123,jericho1,kingme,123a123,drakula,cdjkjxm,mercur,oneman,hoseman,plumper,ilovehim,lancers,sergey1,takeshi,goodtogo,cranberr,ghjcnj123,harvick,qazxs,1972chev,horsesho,freedom3,letmein7,saitek,anguss,vfvfgfgfz,300000,elektro,toonporn,999111999q,mamuka,q9umoz,edelweis,subwoofer,bayside,disturbe,volition,lucky3,12345678z,3mpz4r,march1,atlantida,strekoza,seagrams,090909t,yy5rbfsc,jack1234,sammy12,sampras,mark12,eintrach,chaucer,lllll1,nochance,whitepower,197000,lbvekz,passer,torana,12345as,pallas,koolio,12qw34,nokia8800,findout,1thomas,mmmmm1,654987,mihaela,chinaman,superduper,donnas,ringo1,jeroen,gfdkjdf,professo,cdtnrf,tranmere,tanstaaf,himera,ukflbfnjh,667788,alex32,joschi,w123456,okidoki,flatline,papercli,super8,doris1,2good4u,4z34l0ts,pedigree,freeride,gsxr1100,wulfgar,benjie,ferdinan,king1,charlie7,djdxbr,fhntvbq,ripcurl,2wsx1qaz,kingsx,desade,sn00py,loveboat,rottie,evgesha,4money,dolittle,adgjmpt,buzzers,brett1,makita,123123qweqwe,rusalka,sluts1,123456e,jameson1,bigbaby,1z2z3z,ckjybr,love4u,fucker69,erhfbyf,jeanluc,farhad,fishfood,merkin,giant1,golf69,rfnfcnhjaf,camera1,stromb,smoothy,774411,nylon,juice1,rfn.irf,newyor,123456789t,marmot,star11,jennyff,jester1,hisashi,kumquat,alex777,helicopt,merkur,dehpye,cummin,zsmj2v,kristjan,april12,englan,honeypot,badgirls,uzumaki,keines,p12345,guita,quake1,duncan1,juicer,milkbone,hurtme,123456789b,qq123456789,schwein,p3wqaw,54132442,qwertyytrewq,andreeva,ruffryde,punkie,abfkrf,kristinka,anna1987,ooooo1,335533aa,umberto,amber123,456123789,456789123,beelch,manta,peeker,1112131415,3141592654,gipper,wrinkle5,katies,asd123456,james11,78n3s5af,michael0,daboss,jimmyb,hotdog1,david69,852123,blazed,sickan,eljefe,2n6wvq,gobills,rfhfcm,squeaker,cabowabo,luebri,karups,test01,melkor,angel777,smallvil,modano,olorin,4rkpkt,leslie1,koffie,shadows1,littleon,amiga1,topeka,summer20,asterix1,pitstop,aloysius,k12345,magazin,joker69,panocha,pass1word,1233214,ironpony,368ejhih,88keys,pizza123,sonali,57np39,quake2,1234567890qw,1020304,sword1,fynjif,abcde123,dfktyjr,rockys,grendel1,harley12,kokakola,super2,azathoth,lisa123,shelley1,girlss,ibragim,seven1,jeff24,1bigdick,dragan,autobot,t4nvp7,omega123,900000,hecnfv,889988,nitro1,doggie1,fatjoe,811pahc,tommyt,savage1,pallino,smitty1,jg3h4hfn,jamielee,1qazwsx,zx123456,machine1,asdfgh123,guinnes,789520,sharkman,jochen,legend1,sonic2,extreme1,dima12,photoman,123459876,nokian95,775533,vaz2109,april10,becks,repmvf,pooker,qwer12345,themaster,nabeel,monkey10,gogetit,hockey99,bbbbbbb1,zinedine,dolphin2,anelka,1superma,winter01,muggsy,horny2,669966,kuleshov,jesusis,calavera,bullet1,87t5hdf,sleepers,winkie,vespa,lightsab,carine,magister,1spider,shitbird,salavat,becca1,wc18c2,shirak,galactus,zaskar,barkley1,reshma,dogbreat,fullsail,asasa,boeder,12345ta,zxcvbnm12,lepton,elfquest,tony123,vkaxcs,savatage,sevilia1,badkitty,munkey,pebbles1,diciembr,qapmoc,gabriel2,1qa2ws3e,cbcmrb,welldone,nfyufh,kaizen,jack11,manisha,grommit,g12345,maverik,chessman,heythere,mixail,jjjjjjj1,sylvia1,fairmont,harve,skully,global1,youwish,pikachu1,badcat,zombie1,49527843,ultra1,redrider,offsprin,lovebird,153426,stymie,aq1sw2,sorrento,0000001,r3ady41t,webster1,95175,adam123,coonass,159487,slut1,gerasim,monkey99,slutwife,159963,1pass1page,hobiecat,bigtymer,all4you,maggie2,olamide,comcast1,infinit,bailee,vasileva,.ktxrf,asdfghjkl1,12345678912,setter,fuckyou7,nnagqx,lifesuck,draken,austi,feb2000,cable1,1234qwerasdf,hax0red,zxcv12,vlad7788,nosaj,lenovo,underpar,huskies1,lovegirl,feynman,suerte,babaloo,alskdjfhg,oldsmobi,bomber1,redrover,pupuce,methodman,phenom,cutegirl,countyli,gretsch,godisgood,bysunsu,hardhat,mironova,123qwe456rty,rusty123,salut,187211,555666777,11111z,mahesh,rjntyjxtr,br00klyn,dunce1,timebomb,bovine,makelove,littlee,shaven,rizwan,patrick7,42042042,bobbijo,rustem,buttmunc,dongle,tiger69,bluecat,blackhol,shirin,peaces,cherub,cubase,longwood,lotus7,gwju3g,bruin,pzaiu8,green11,uyxnyd,seventee,dragon5,tinkerbel,bluess,bomba,fedorova,joshua2,bodyshop,peluche,gbpacker,shelly1,d1i2m3a4,ghtpbltyn,talons,sergeevna,misato,chrisc,sexmeup,brend,olddog,davros,hazelnut,bridget1,hzze929b,readme,brethart,wild1,ghbdtnbr1,nortel,kinger,royal1,bucky1,allah1,drakkar,emyeuanh,gallaghe,hardtime,jocker,tanman,flavio,abcdef123,leviatha,squid1,skeet,sexse,123456x,mom4u4mm,lilred,djljktq,ocean11,cadaver,baxter1,808state,fighton,primavera,1andrew,moogle,limabean,goddess1,vitalya,blue56,258025,bullride,cicci,1234567d,connor1,gsxr11,oliveoil,leonard1,legsex,gavrik,rjnjgtc,mexicano,2bad4u,goodfellas,ornw6d,mancheste,hawkmoon,zlzfrh,schorsch,g9zns4,bashful,rossi46,stephie,rfhfntkm,sellout,123fuck,stewar1,solnze,00007,thor5200,compaq12,didit,bigdeal,hjlbyf,zebulon,wpf8eu,kamran,emanuele,197500,carvin,ozlq6qwm,3syqo15hil,pennys,epvjb6,asdfghjkl123,198000,nfbcbz,jazzer,asfnhg66,zoloft,albundy,aeiou,getlaid,planet1,gjkbyjxrf,alex2000,brianb,moveon,maggie11,eieio,vcradq,shaggy1,novartis,cocoloco,dunamis,554uzpad,sundrop,1qwertyu,alfie,feliks,briand,123www,red456,addams,fhntv1998,goodhead,theway,javaman,angel01,stratoca,lonsdale,15987532,bigpimpin,skater1,issue43,muffie,yasmina,slowride,crm114,sanity729,himmel,carolcox,bustanut,parabola,masterlo,computador,crackhea,dynastar,rockbott,doggysty,wantsome,bigten,gaelle,juicy1,alaska1,etower,sixnine,suntan,froggies,nokia7610,hunter11,njnets,alicante,buttons1,diosesamo,elizabeth1,chiron,trustnoo,amatuers,tinytim,mechta,sammy2,cthulu,trs8f7,poonam,m6cjy69u35,cookie12,blue25,jordans,santa1,kalinka,mikey123,lebedeva,12345689,kissss,queenbee,vjybnjh,ghostdog,cuckold,bearshare,rjcntyrj,alinochka,ghjcnjrdfibyj,aggie1,teens1,3qvqod,dauren,tonino,hpk2qc,iqzzt580,bears85,nascar88,theboy,njqcw4,masyanya,pn5jvw,intranet,lollone,shadow99,00096462,techie,cvtifhbrb,redeemed,gocanes,62717315,topman,intj3a,cobrajet,antivirus,whyme,berserke,ikilz083,airedale,brandon2,hopkig,johanna1,danil8098,gojira,arthu,vision1,pendragon,milen,chrissie,vampiro,mudder,chris22,blowme69,omega7,surfers,goterps,italy1,baseba11,diego1,gnatsum,birdies,semenov,joker123,zenit2011,wojtek,cab4ma99,watchmen,damia,forgotte,fdm7ed,strummer,freelanc,cingular,orange77,mcdonalds,vjhjpjdf,kariya,tombston,starlet,hawaii1,dantheman,megabyte,nbvjirf,anjing,ybrjkftdbx,hotmom,kazbek,pacific1,sashimi,asd12,coorslig,yvtte545,kitte,elysium,klimenko,cobblers,kamehameha,only4me,redriver,triforce,sidorov,vittoria,fredi,dank420,m1234567,fallout2,989244342a,crazy123,crapola,servus,volvos,1scooter,griffin1,autopass,ownzyou,deviant,george01,2kgwai,boeing74,simhrq,hermosa,hardcor,griffy,rolex1,hackme,cuddles1,master3,bujhtr,aaron123,popolo,blader,1sexyred,gerry1,cronos,ffvdj474,yeehaw,bob1234,carlos2,mike77,buckwheat,ramesh,acls2h,monster2,montess,11qq22ww,lazer,zx123456789,chimpy,masterch,sargon,lochness,archana,1234qwert,hbxfhl,sarahb,altoid,zxcvbn12,dakot,caterham,dolomite,chazz,r29hqq,longone,pericles,grand1,sherbert,eagle3,pudge,irontree,synapse,boome,nogood,summer2,pooki,gangsta1,mahalkit,elenka,lbhtrnjh,dukedog,19922991,hopkins1,evgenia,domino1,x123456,manny1,tabbycat,drake1,jerico,drahcir,kelly2,708090a,facesit,11c645df,mac123,boodog,kalani,hiphop1,critters,hellothere,tbirds,valerka,551scasi,love777,paloalto,mrbrown,duke3d,killa1,arcturus,spider12,dizzy1,smudger,goddog,75395,spammy,1357997531,78678,datalife,zxcvbn123,1122112211,london22,23dp4x,rxmtkp,biggirls,ownsu,lzbs2twz,sharps,geryfe,237081a,golakers,nemesi,sasha1995,pretty1,mittens1,d1lakiss,speedrac,gfhjkmm,sabbat,hellrais,159753258,qwertyuiop123,playgirl,crippler,salma,strat1,celest,hello5,omega5,cheese12,ndeyl5,edward12,soccer3,cheerio,davido,vfrcbr,gjhjctyjr,boscoe,inessa,shithole,ibill,qwepoi,201jedlz,asdlkj,davidk,spawn2,ariel1,michael4,jamie123,romantik,micro1,pittsbur,canibus,katja,muhtar,thomas123,studboy,masahiro,rebrov,patrick8,hotboys,sarge1,1hammer,nnnnn1,eistee,datalore,jackdani,sasha2010,mwq6qlzo,cmfnpu,klausi,cnhjbntkm,andrzej,ilovejen,lindaa,hunter123,vvvvv1,novembe,hamster1,x35v8l,lacey1,1silver,iluvporn,valter,herson,alexsandr,cojones,backhoe,womens,777angel,beatit,klingon1,ta8g4w,luisito,benedikt,maxwel,inspecto,zaq12ws,wladimir,bobbyd,peterj,asdfg12,hellspawn,bitch69,nick1234,golfer23,sony123,jello1,killie,chubby1,kodaira52,yanochka,buckfast,morris1,roaddogg,snakeeye,sex1234,mike22,mmouse,fucker11,dantist,brittan,vfrfhjdf,doc123,plokijuh,emerald1,batman01,serafim,elementa,soccer9,footlong,cthuttdbx,hapkido,eagle123,getsmart,getiton,batman2,masons,mastiff,098890,cfvfhf,james7,azalea,sherif,saun24865709,123red,cnhtrjpf,martina1,pupper,michael5,alan12,shakir,devin1,ha8fyp,palom,mamulya,trippy,deerhunter,happyone,monkey77,3mta3,123456789f,crownvic,teodor,natusik,0137485,vovchik,strutter,triumph1,cvetok,moremone,sonnen,screwbal,akira1,sexnow,pernille,independ,poopies,samapi,kbcbxrf,master22,swetlana,urchin,viper2,magica,slurpee,postit,gilgames,kissarmy,clubpenguin,limpbizk,timber1,celin,lilkim,fuckhard,lonely1,mom123,goodwood,extasy,sdsadee23,foxglove,malibog,clark1,casey2,shell1,odense,balefire,dcunited,cubbie,pierr,solei,161718,bowling1,areyukesc,batboy,r123456,1pionee,marmelad,maynard1,cn42qj,cfvehfq,heathrow,qazxcvbn,connecti,secret123,newfie,xzsawq21,tubitzen,nikusha,enigma1,yfcnz123,1austin,michaelc,splunge,wanger,phantom2,jason2,pain4me,primetime21,babes1,liberte,sugarray,undergro,zonker,labatts,djhjyf,watch1,eagle5,madison2,cntgfirf,sasha2,masterca,fiction7,slick50,bruins1,sagitari,12481632,peniss,insuranc,2b8riedt,12346789,mrclean,ssptx452,tissot,q1w2e3r4t5y6u7,avatar1,comet1,spacer,vbrjkf,pass11,wanker1,14vbqk9p,noshit,money4me,sayana,fish1234,seaways,pipper,romeo123,karens,wardog,ab123456,gorilla1,andrey123,lifesucks,jamesr,4wcqjn,bearman,glock22,matt11,dflbvrf,barbi,maine1,dima1997,sunnyboy,6bjvpe,bangkok1,666666q,rafiki,letmein0,0raziel0,dalla,london99,wildthin,patrycja,skydog,qcactw,tmjxn151,yqlgr667,jimmyd,stripclub,deadwood,863abgsg,horses1,qn632o,scatman,sonia1,subrosa,woland,kolya,charlie4,moleman,j12345,summer11,angel11,blasen,sandal,mynewpas,retlaw,cambria,mustang4,nohack04,kimber45,fatdog,maiden1,bigload,necron,dupont24,ghost123,turbo2,.ktymrf,radagast,balzac,vsevolod,pankaj,argentum,2bigtits,mamabear,bumblebee,mercury7,maddie1,chomper,jq24nc,snooky,pussylic,1lovers,taltos,warchild,diablo66,jojo12,sumerki,aventura,gagger,annelies,drumset,cumshots,azimut,123580,clambake,bmw540,birthday54,psswrd,paganini,wildwest,filibert,teaseme,1test,scampi,thunder5,antosha,purple12,supersex,hhhhhh1,brujah,111222333a,13579a,bvgthfnjh,4506802a,killians,choco,qqqwwweee,raygun,1grand,koetsu13,sharp1,mimi92139,fastfood,idontcare,bluered,chochoz,4z3al0ts,target1,sheffiel,labrat,stalingrad,147123,cubfan,corvett1,holden1,snapper1,4071505,amadeo,pollo,desperados,lovestory,marcopolo,mumbles,familyguy,kimchee,marcio,support1,tekila,shygirl1,trekkie,submissi,ilaria,salam,loveu,wildstar,master69,sales1,netware,homer2,arseniy,gerrity1,raspberr,atreyu,stick1,aldric,tennis12,matahari,alohomora,dicanio,michae1,michaeld,666111,luvbug,boyscout,esmerald,mjordan,admiral1,steamboa,616913,ybhdfyf,557711,555999,sunray,apokalipsis,theroc,bmw330,buzzy,chicos,lenusik,shadowma,eagles05,444222,peartree,qqq123,sandmann,spring1,430799,phatass,andi03,binky1,arsch,bamba,kenny123,fabolous,loser123,poop12,maman,phobos,tecate,myxworld4,metros,cocorico,nokia6120,johnny69,hater,spanked,313233,markos,love2011,mozart1,viktoriy,reccos,331234,hornyone,vitesse,1um83z,55555q,proline,v12345,skaven,alizee,bimini,fenerbahce,543216,zaqqaz,poi123,stabilo,brownie1,1qwerty1,dinesh,baggins1,1234567t,davidkin,friend1,lietuva,octopuss,spooks,12345qq,myshit,buttface,paradoxx,pop123,golfin,sweet69,rfghbp,sambuca,kayak1,bogus1,girlz,dallas12,millers,123456zx,operatio,pravda,eternal1,chase123,moroni,proust,blueduck,harris1,redbarch,996699,1010101,mouche,millenni,1123456,score1,1234565,1234576,eae21157,dave12,pussyy,gfif1991,1598741,hoppy,darrian,snoogins,fartface,ichbins,vfkbyrf,rusrap,2741001,fyfrjylf,aprils,favre,thisis,bannana,serval,wiggum,satsuma,matt123,ivan123,gulmira,123zxc123,oscar2,acces,annie2,dragon0,emiliano,allthat,pajaro,amandine,rawiswar,sinead,tassie,karma1,piggys,nokias,orions,origami,type40,mondo,ferrets,monker,biteme2,gauntlet,arkham,ascona,ingram01,klem1,quicksil,bingo123,blue66,plazma,onfire,shortie,spjfet,123963,thered,fire777,lobito,vball,1chicken,moosehea,elefante,babe23,jesus12,parallax,elfstone,number5,shrooms,freya,hacker1,roxette,snoops,number7,fellini,dtlmvf,chigger,mission1,mitsubis,kannan,whitedog,james01,ghjgecr,rfnfgekmnf,everythi,getnaked,prettybo,sylvan,chiller,carrera4,cowbo,biochem,azbuka,qwertyuiop1,midnight1,informat,audio1,alfred1,0range,sucker1,scott2,russland,1eagle,torben,djkrjlfd,rocky6,maddy1,bonobo,portos,chrissi,xjznq5,dexte,vdlxuc,teardrop,pktmxr,iamtheone,danijela,eyphed,suzuki1,etvww4,redtail,ranger11,mowerman,asshole2,coolkid,adriana1,bootcamp,longcut,evets,npyxr5,bighurt,bassman1,stryder,giblet,nastja,blackadd,topflite,wizar,cumnow,technolo,bassboat,bullitt,kugm7b,maksimus,wankers,mine12,sunfish,pimpin1,shearer9,user1,vjzgjxnf,tycobb,80070633pc,stanly,vitaly,shirley1,cinzia,carolyn1,angeliqu,teamo,qdarcv,aa123321,ragdoll,bonit,ladyluck,wiggly,vitara,jetbalance,12345600,ozzman,dima12345,mybuddy,shilo,satan66,erebus,warrio,090808qwe,stupi,bigdan,paul1234,chiapet,brooks1,philly1,dually,gowest,farmer1,1qa2ws3ed4rf,alberto1,beachboy,barne,aa12345,aliyah,radman,benson1,dfkthbq,highball,bonou2,i81u812,workit,darter,redhook,csfbr5yy,buttlove,episode1,ewyuza,porthos,lalal,abcd12,papero,toosexy,keeper1,silver7,jujitsu,corset,pilot123,simonsay,pinggolf,katerinka,kender,drunk1,fylhjvtlf,rashmi,nighthawk,maggy,juggernaut,larryb,cabibble,fyabcf,247365,gangstar,jaybee,verycool,123456789qw,forbidde,prufrock,12345zxc,malaika,blackbur,docker,filipe,koshechka,gemma1,djamaal,dfcbkmtdf,gangst,9988aa,ducks1,pthrfkj,puertorico,muppets,griffins,whippet,sauber,timofey,larinso,123456789zxc,quicken,qsefth,liteon,headcase,bigdadd,zxc321,maniak,jamesc,bassmast,bigdogs,1girls,123xxx,trajan,lerochka,noggin,mtndew,04975756,domin,wer123,fumanchu,lambada,thankgod,june22,kayaking,patchy,summer10,timepass,poiu1234,kondor,kakka,lament,zidane10,686xqxfg,l8v53x,caveman1,nfvthkfy,holymoly,pepita,alex1996,mifune,fighter1,asslicker,jack22,abc123abc,zaxxon,midnigh,winni,psalm23,punky,monkey22,password13,mymusic,justyna,annushka,lucky5,briann,495rus19,withlove,almaz,supergir,miata,bingbong,bradpitt,kamasutr,yfgjktjy,vanman,pegleg,amsterdam1,123a321,letmein9,shivan,korona,bmw520,annette1,scotsman,gandal,welcome12,sc00by,qpwoei,fred69,m1sf1t,hamburg1,1access,dfkmrbhbz,excalibe,boobies1,fuckhole,karamel,starfuck,star99,breakfas,georgiy,ywvxpz,smasher,fatcat1,allanon,12345n,coondog,whacko,avalon1,scythe,saab93,timon,khorne,atlast,nemisis,brady12,blenheim,52678677,mick7278,9skw5g,fleetwoo,ruger1,kissass,pussy7,scruff,12345l,bigfun,vpmfsz,yxkck878,evgeny,55667788,lickher,foothill,alesis,poppies,77777778,californi,mannie,bartjek,qhxbij,thehulk,xirt2k,angelo4ek,rfkmrekznjh,tinhorse,1david,sparky12,night1,luojianhua,bobble,nederland,rosemari,travi,minou,ciscokid,beehive,565hlgqo,alpine1,samsung123,trainman,xpress,logistic,vw198m2n,hanter,zaqwsx123,qwasz,mariachi,paska,kmg365,kaulitz,sasha12,north1,polarbear,mighty1,makeksa11,123456781,one4all,gladston,notoriou,polniypizdec110211,gosia,grandad,xholes,timofei,invalidp,speaker1,zaharov,maggiema,loislane,gonoles,br5499,discgolf,kaskad,snooper,newman1,belial,demigod,vicky1,pridurok,alex1990,tardis1,cruzer,hornie,sacramen,babycat,burunduk,mark69,oakland1,me1234,gmctruck,extacy,sexdog,putang,poppen,billyd,1qaz2w,loveable,gimlet,azwebitalia,ragtop,198500,qweas,mirela,rock123,11bravo,sprewell,tigrenok,jaredleto,vfhbif,blue2,rimjob,catwalk,sigsauer,loqse,doromich,jack01,lasombra,jonny5,newpassword,profesor,garcia1,123as123,croucher,demeter,4_life,rfhfvtkm,superman2,rogues,assword1,russia1,jeff1,mydream,z123456789,rascal1,darre,kimberl,pickle1,ztmfcq,ponchik,lovesporn,hikari,gsgba368,pornoman,chbjun,choppy,diggity,nightwolf,viktori,camar,vfhecmrf,alisa1,minstrel,wishmaster,mulder1,aleks,gogirl,gracelan,8womys,highwind,solstice,dbrnjhjdyf,nightman,pimmel,beertje,ms6nud,wwfwcw,fx3tuo,poopface,asshat,dirtyd,jiminy,luv2fuck,ptybnxtvgbjy,dragnet,pornogra,10inch,scarlet1,guido1,raintree,v123456,1aaaaaaa,maxim1935,hotwater,gadzooks,playaz,harri,brando1,defcon1,ivanna,123654a,arsenal2,candela,nt5d27,jaime1,duke1,burton1,allstar1,dragos,newpoint,albacore,1236987z,verygoodbot,1wildcat,fishy1,ptktysq,chris11,puschel,itdxtyrj,7kbe9d,serpico,jazzie,1zzzzz,kindbuds,wenef45313,1compute,tatung,sardor,gfyfcjybr,test99,toucan,meteora,lysander,asscrack,jowgnx,hevnm4,suckthis,masha123,karinka,marit,oqglh565,dragon00,vvvbbb,cheburashka,vfrfrf,downlow,unforgiven,p3e85tr,kim123,sillyboy,gold1,golfvr6,quicksan,irochka,froglegs,shortsto,caleb1,tishka,bigtitts,smurfy,bosto,dropzone,nocode,jazzbass,digdug,green7,saltlake,therat,dmitriev,lunita,deaddog,summer0,1212qq,bobbyg,mty3rh,isaac1,gusher,helloman,sugarbear,corvair,extrem,teatime,tujazopi,titanik,efyreg,jo9k2jw2,counchac,tivoli,utjvtnhbz,bebit,jacob6,clayton1,incubus1,flash123,squirter,dima2010,cock1,rawks,komatsu,forty2,98741236,cajun1,madelein,mudhoney,magomed,q111111,qaswed,consense,12345b,bakayaro,silencer,zoinks,bigdic,werwolf,pinkpuss,96321478,alfie1,ali123,sarit,minette,musics,chato,iaapptfcor,cobaka,strumpf,datnigga,sonic123,yfnecbr,vjzctvmz,pasta1,tribbles,crasher,htlbcrf,1tiger,shock123,bearshar,syphon,a654321,cubbies1,jlhanes,eyespy,fucktheworld,carrie1,bmw325is,suzuk,mander,dorina,mithril,hondo1,vfhnbyb,sachem,newton1,12345x,7777755102q,230857z,xxxsex,scubapro,hayastan,spankit,delasoul,searock6,fallout3,nilrem,24681357,pashka,voluntee,pharoh,willo,india1,badboy69,roflmao,gunslinger,lovergir,mama12,melange,640xwfkv,chaton,darkknig,bigman1,aabbccdd,harleyd,birdhouse,giggsy,hiawatha,tiberium,joker7,hello1234,sloopy,tm371855,greendog,solar1,bignose,djohn11,espanol,oswego,iridium,kavitha,pavell,mirjam,cyjdsvujljv,alpha5,deluge,hamme,luntik,turismo,stasya,kjkbnf,caeser,schnecke,tweety1,tralfaz,lambrett,prodigy1,trstno1,pimpshit,werty1,karman,bigboob,pastel,blackmen,matthew8,moomin,q1w2e,gilly,primaver,jimmyg,house2,elviss,15975321,1jessica,monaliza,salt55,vfylfhbyrf,harley11,tickleme,murder1,nurgle,kickass1,theresa1,fordtruck,pargolf,managua,inkognito,sherry1,gotit,friedric,metro2033,slk230,freeport,cigarett,492529,vfhctkm,thebeach,twocats,bakugan,yzerman1,charlieb,motoko,skiman,1234567w,pussy3,love77,asenna,buffie,260zntpc,kinkos,access20,mallard1,fuckyou69,monami,rrrrr1,bigdog69,mikola,1boomer,godzila,ginger2,dima2000,skorpion39,dima1234,hawkdog79,warrior2,ltleirf,supra1,jerusale,monkey01,333z333,666888,kelsey1,w8gkz2x1,fdfnfh,msnxbi,qwe123rty,mach1,monkey3,123456789qq,c123456,nezabudka,barclays,nisse,dasha1,12345678987654321,dima1993,oldspice,frank2,rabbitt,prettyboy,ov3ajy,iamthema,kawasak,banjo1,gtivr6,collants,gondor,hibees,cowboys2,codfish,buster2,purzel,rubyred,kayaker,bikerboy,qguvyt,masher,sseexx,kenshiro,moonglow,semenova,rosari,eduard1,deltaforce,grouper,bongo1,tempgod,1taylor,goldsink,qazxsw1,1jesus,m69fg2w,maximili,marysia,husker1,kokanee,sideout,googl,south1,plumber1,trillian,00001,1357900,farkle,1xxxxx,pascha,emanuela,bagheera,hound1,mylov,newjersey,swampfox,sakic19,torey,geforce,wu4etd,conrail,pigman,martin2,ber02,nascar2,angel69,barty,kitsune,cornet,yes90125,goomba,daking,anthea,sivart,weather1,ndaswf,scoubidou,masterchief,rectum,3364068,oranges1,copter,1samanth,eddies,mimoza,ahfywbz,celtic88,86mets,applemac,amanda11,taliesin,1angel,imhere,london11,bandit12,killer666,beer1,06225930,psylocke,james69,schumach,24pnz6kc,endymion,wookie1,poiu123,birdland,smoochie,lastone,rclaki,olive1,pirat,thunder7,chris69,rocko,151617,djg4bb4b,lapper,ajcuivd289,colole57,shadow7,dallas21,ajtdmw,executiv,dickies,omegaman,jason12,newhaven,aaaaaas,pmdmscts,s456123789,beatri,applesauce,levelone,strapon,benladen,creaven,ttttt1,saab95,f123456,pitbul,54321a,sex12345,robert3,atilla,mevefalkcakk,1johnny,veedub,lilleke,nitsuj,5t6y7u8i,teddys,bluefox,nascar20,vwjetta,buffy123,playstation3,loverr,qweasd12,lover2,telekom,benjamin1,alemania,neutrino,rockz,valjean,testicle,trinity3,realty,firestarter,794613852,ardvark,guadalup,philmont,arnold1,holas,zw6syj,birthday299,dover1,sexxy1,gojets,741236985,cance,blue77,xzibit,qwerty88,komarova,qweszxc,footer,rainger,silverst,ghjcnb,catmando,tatooine,31217221027711,amalgam,69dude,qwerty321,roscoe1,74185,cubby,alfa147,perry1,darock,katmandu,darknight,knicks1,freestuff,45454,kidman,4tlved,axlrose,cutie1,quantum1,joseph10,ichigo,pentium3,rfhectkm,rowdy1,woodsink,justforfun,sveta123,pornografia,mrbean,bigpig,tujheirf,delta9,portsmou,hotbod,kartal,10111213,fkbyf001,pavel1,pistons1,necromancer,verga,c7lrwu,doober,thegame1,hatesyou,sexisfun,1melissa,tuczno18,bowhunte,gobama,scorch,campeon,bruce2,fudge1,herpderp,bacon1,redsky,blackeye,19966991,19992000,ripken8,masturba,34524815,primax,paulina1,vp6y38,427cobra,4dwvjj,dracon,fkg7h4f3v6,longview,arakis,panama1,honda2,lkjhgfdsaz,razors,steels,fqkw5m,dionysus,mariajos,soroka,enriqu,nissa,barolo,king1234,hshfd4n279,holland1,flyer1,tbones,343104ky,modems,tk421,ybrbnrf,pikapp,sureshot,wooddoor,florida2,mrbungle,vecmrf,catsdogs,axolotl,nowayout,francoi,chris21,toenail,hartland,asdjkl,nikkii,onlyyou,buckskin,fnord,flutie,holen1,rincewind,lefty1,ducky1,199000,fvthbrf,redskin1,ryno23,lostlove,19mtpgam19,abercrom,benhur,jordan11,roflcopter,ranma,phillesh,avondale,igromania,p4ssword,jenny123,tttttt1,spycams,cardigan,2112yyz,sleepy1,paris123,mopars,lakers34,hustler1,james99,matrix3,popimp,12pack,eggbert,medvedev,testit,performa,logitec,marija,sexybeast,supermanboy,iwantit,rjktcj,jeffer,svarog,halo123,whdbtp,nokia3230,heyjoe,marilyn1,speeder,ibxnsm,prostock,bennyboy,charmin,codydog,parol999,ford9402,jimmer,crayola,159357258,alex77,joey1,cayuga,phish420,poligon,specops,tarasova,caramelo,draconis,dimon,cyzkhw,june29,getbent,1guitar,jimjam,dictiona,shammy,flotsam,0okm9ijn,crapper,technic,fwsadn,rhfdxtyrj,zaq11qaz,anfield1,159753q,curious1,hip-hop,1iiiii,gfhjkm2,cocteau,liveevil,friskie,crackhead,b1afra,elektrik,lancer1,b0ll0cks,jasond,z1234567,tempest1,alakazam,asdfasd,duffy1,oneday,dinkle,qazedctgb,kasimir,happy7,salama,hondaciv,nadezda,andretti,cannondale,sparticu,znbvjd,blueice,money01,finster,eldar,moosie,pappa,delta123,neruda,bmw330ci,jeanpaul,malibu1,alevtina,sobeit,travolta,fullmetal,enamorad,mausi,boston12,greggy,smurf1,ratrace,ichiban,ilovepus,davidg,wolf69,villa1,cocopuff,football12,starfury,zxc12345,forfree,fairfiel,dreams1,tayson,mike2,dogday,hej123,oldtimer,sanpedro,clicker,mollycat,roadstar,golfe,lvbnhbq1,topdevice,a1b2c,sevastopol,calli,milosc,fire911,pink123,team3x,nolimit5,snickers1,annies,09877890,jewel1,steve69,justin11,autechre,killerbe,browncow,slava1,christer,fantomen,redcloud,elenberg,beautiful1,passw0rd1,nazira,advantag,cockring,chaka,rjpzdrf,99941,az123456,biohazar,energie,bubble1,bmw323,tellme,printer1,glavine,1starwar,coolbeans,april17,carly1,quagmire,admin2,djkujuhfl,pontoon,texmex,carlos12,thermo,vaz2106,nougat,bob666,1hockey,1john,cricke,qwerty10,twinz,totalwar,underwoo,tijger,lildevil,123q321,germania,freddd,1scott,beefy,5t4r3e2w1q,fishbait,nobby,hogger,dnstuff,jimmyc,redknapp,flame1,tinfloor,balla,nfnfhby,yukon1,vixens,batata,danny123,1zxcvbnm,gaetan,homewood,greats,tester1,green99,1fucker,sc0tland,starss,glori,arnhem,goatman,1234asd,supertra,bill123,elguapo,sexylegs,jackryan,usmc69,innow,roaddog,alukard,winter11,crawler,gogiants,rvd420,alessandr,homegrow,gobbler,esteba,valeriy,happy12,1joshua,hawking,sicnarf,waynes,iamhappy,bayadera,august2,sashas,gotti,dragonfire,pencil1,halogen,borisov,bassingw,15975346,zachar,sweetp,soccer99,sky123,flipyou,spots3,xakepy,cyclops1,dragon77,rattolo58,motorhea,piligrim,helloween,dmb2010,supermen,shad0w,eatcum,sandokan,pinga,ufkfrnbrf,roksana,amista,pusser,sony1234,azerty1,1qasw2,ghbdt,q1w2e3r4t5y6u7i8,ktutylf,brehznev,zaebali,shitass,creosote,gjrtvjy,14938685,naughtyboy,pedro123,21crack,maurice1,joesakic,nicolas1,matthew9,lbyfhf,elocin,hfcgbplzq,pepper123,tiktak,mycroft,ryan11,firefly1,arriva,cyecvevhbr,loreal,peedee,jessica8,lisa01,anamari,pionex,ipanema,airbag,frfltvbz,123456789aa,epwr49,casper12,sweethear,sanandreas,wuschel,cocodog,france1,119911,redroses,erevan,xtvgbjy,bigfella,geneve,volvo850,evermore,amy123,moxie,celebs,geeman,underwor,haslo1,joy123,hallow,chelsea0,12435687,abarth,12332145,tazman1,roshan,yummie,genius1,chrisd,ilovelife,seventy7,qaz1wsx2,rocket88,gaurav,bobbyboy,tauchen,roberts1,locksmit,masterof,www111,d9ungl,volvos40,asdasd1,golfers,jillian1,7xm5rq,arwpls4u,gbhcf2,elloco,football2,muerte,bob101,sabbath1,strider1,killer66,notyou,lawnboy,de7mdf,johnnyb,voodoo2,sashaa,homedepo,bravos,nihao123,braindea,weedhead,rajeev,artem1,camille1,rockss,bobbyb,aniston,frnhbcf,oakridge,biscayne,cxfcnm,dressage,jesus3,kellyann,king69,juillet,holliste,h00ters,ripoff,123645,1999ar,eric12,123777,tommi,dick12,bilder,chris99,rulezz,getpaid,chicubs,ender1,byajhvfnbrf,milkshak,sk8board,freakshow,antonella,monolit,shelb,hannah01,masters1,pitbull1,1matthew,luvpussy,agbdlcid,panther2,alphas,euskadi,8318131,ronnie1,7558795,sweetgirl,cookie59,sequoia,5552555,ktyxbr,4500455,money7,severus,shinobu,dbityrf,phisig,rogue2,fractal,redfred,sebastian1,nelli,b00mer,cyberman,zqjphsyf6ctifgu,oldsmobile,redeemer,pimpi,lovehurts,1slayer,black13,rtynfdh,airmax,g00gle,1panther,artemon,nopasswo,fuck1234,luke1,trinit,666000,ziadma,oscardog,davex,hazel1,isgood,demond,james5,construc,555551,january2,m1911a1,flameboy,merda,nathan12,nicklaus,dukester,hello99,scorpio7,leviathan,dfcbktr,pourquoi,vfrcbv123,shlomo,rfcgth,rocky3,ignatz,ajhneyf,roger123,squeek,4815162342a,biskit,mossimo,soccer21,gridlock,lunker,popstar,ghhh47hj764,chutney,nitehawk,vortec,gamma1,codeman,dragula,kappasig,rainbow2,milehigh,blueballs,ou8124me,rulesyou,collingw,mystere,aster,astrovan,firetruck,fische,crawfish,hornydog,morebeer,tigerpaw,radost,144000,1chance,1234567890qwe,gracie1,myopia,oxnard,seminoles,evgeni,edvard,partytim,domani,tuffy1,jaimatadi,blackmag,kzueirf,peternor,mathew1,maggie12,henrys,k1234567,fasted,pozitiv,cfdtkbq,jessica7,goleafs,bandito,girl78,sharingan,skyhigh,bigrob,zorros,poopers,oldschoo,pentium2,gripper,norcal,kimba,artiller,moneymak,00197400,272829,shadow1212,thebull,handbags,all4u2c,bigman2,civics,godisgoo,section8,bandaid,suzanne1,zorba,159123,racecars,i62gbq,rambo123,ironroad,johnson2,knobby,twinboys,sausage1,kelly69,enter2,rhjirf,yessss,james12,anguilla,boutit,iggypop,vovochka,06060,budwiser,romuald,meditate,good1,sandrin,herkules,lakers8,honeybea,11111111a,miche,rangers9,lobster1,seiko,belova,midcon,mackdadd,bigdaddy1,daddie,sepultur,freddy12,damon1,stormy1,hockey2,bailey12,hedimaptfcor,dcowboys,sadiedog,thuggin,horny123,josie1,nikki2,beaver69,peewee1,mateus,viktorija,barrys,cubswin1,matt1234,timoxa,rileydog,sicilia,luckycat,candybar,julian1,abc456,pussylip,phase1,acadia,catty,246800,evertonf,bojangle,qzwxec,nikolaj,fabrizi,kagome,noncapa0,marle,popol,hahaha1,cossie,carla10,diggers,spankey,sangeeta,cucciolo,breezer,starwar1,cornholio,rastafari,spring99,yyyyyyy1,webstar,72d5tn,sasha1234,inhouse,gobuffs,civic1,redstone,234523,minnie1,rivaldo,angel5,sti2000,xenocide,11qq11,1phoenix,herman1,holly123,tallguy,sharks1,madri,superbad,ronin,jalal123,hardbody,1234567r,assman1,vivahate,buddylee,38972091,bonds25,40028922,qrhmis,wp2005,ceejay,pepper01,51842543,redrum1,renton,varadero,tvxtjk7r,vetteman,djhvbrc,curly1,fruitcak,jessicas,maduro,popmart,acuari,dirkpitt,buick1,bergerac,golfcart,pdtpljxrf,hooch1,dudelove,d9ebk7,123452000,afdjhbn,greener,123455432,parachut,mookie12,123456780,jeepcj5,potatoe,sanya,qwerty2010,waqw3p,gotika,freaky1,chihuahu,buccanee,ecstacy,crazyboy,slickric,blue88,fktdnbyf,2004rj,delta4,333222111,calient,ptbdhw,1bailey,blitz1,sheila1,master23,hoagie,pyf8ah,orbita,daveyboy,prono1,delta2,heman,1horny,tyrik123,ostrov,md2020,herve,rockfish,el546218,rfhbyjxrf,chessmaster,redmoon,lenny1,215487,tomat,guppy,amekpass,amoeba,my3girls,nottingh,kavita,natalia1,puccini,fabiana,8letters,romeos,netgear,casper2,taters,gowings,iforgot1,pokesmot,pollit,lawrun,petey1,rosebuds,007jr,gthtcnhjqrf,k9dls02a,neener,azertyu,duke11,manyak,tiger01,petros,supermar,mangas,twisty,spotter,takagi,dlanod,qcmfd454,tusymo,zz123456,chach,navyblue,gilbert1,2kash6zq,avemaria,1hxboqg2s,viviane,lhbjkjubz2957704,nowwowtg,1a2b3c4,m0rn3,kqigb7,superpuper,juehtw,gethigh,theclown,makeme,pradeep,sergik,deion21,nurik,devo2706,nbvibt,roman222,kalima,nevaeh,martin7,anathema,florian1,tamwsn3sja,dinmamma,133159,123654q,slicks,pnp0c08,yojimbo,skipp,kiran,pussyfuck,teengirl,apples12,myballs,angeli,1234a,125678,opelastra,blind1,armagedd,fish123,pitufo,chelseaf,thedevil,nugget1,cunt69,beetle1,carter15,apolon,collant,password00,fishboy,djkrjdf,deftone,celti,three11,cyrus1,lefthand,skoal1,ferndale,aries1,fred01,roberta1,chucks,cornbread,lloyd1,icecrea,cisco123,newjerse,vfhrbpf,passio,volcom1,rikimaru,yeah11,djembe,facile,a1l2e3x4,batman7,nurbol,lorenzo1,monica69,blowjob1,998899,spank1,233391,n123456,1bear,bellsout,999998,celtic67,sabre1,putas,y9enkj,alfabeta,heatwave,honey123,hard4u,insane1,xthysq,magnum1,lightsaber,123qweqwe,fisher1,pixie1,precios,benfic,thegirls,bootsman,4321rewq,nabokov,hightime,djghjc,1chelsea,junglist,august16,t3fkvkmj,1232123,lsdlsd12,chuckie1,pescado,granit,toogood,cathouse,natedawg,bmw530,123kid,hajime,198400,engine1,wessonnn,kingdom1,novembre,1rocks,kingfisher,qwerty89,jordan22,zasranec,megat,sucess,installutil,fetish01,yanshi1982,1313666,1314520,clemence,wargod,time1,newzealand,snaker,13324124,cfrehf,hepcat,mazahaka,bigjay,denisov,eastwest,1yellow,mistydog,cheetos,1596357,ginger11,mavrik,bubby1,bhbyf,pyramide,giusepp,luthien,honda250,andrewjackie,kentavr,lampoon,zaq123wsx,sonicx,davidh,1ccccc,gorodok,windsong,programm,blunt420,vlad1995,zxcvfdsa,tarasov,mrskin,sachas,mercedes1,koteczek,rawdog,honeybear,stuart1,kaktys,richard7,55555n,azalia,hockey10,scouter,francy,1xxxxxx,julie456,tequilla,penis123,schmoe,tigerwoods,1ferrari,popov,snowdrop,matthieu,smolensk,cornflak,jordan01,love2000,23wesdxc,kswiss,anna2000,geniusnet,baby2000,33ds5x,waverly,onlyone4,networkingpe,raven123,blesse,gocards,wow123,pjflkork,juicey,poorboy,freeee,billybo,shaheen,zxcvbnm.,berlit,truth1,gepard,ludovic,gunther1,bobby2,bob12345,sunmoon,septembr,bigmac1,bcnjhbz,seaking,all4u,12qw34er56ty,bassie,nokia5228,7355608,sylwia,charvel,billgate,davion,chablis,catsmeow,kjiflrf,amylynn,rfvbkkf,mizredhe,handjob,jasper12,erbol,solara,bagpipe,biffer,notime,erlan,8543852,sugaree,oshkosh,fedora,bangbus,5lyedn,longball,teresa1,bootyman,aleksand,qazwsxedc12,nujbhc,tifosi,zpxvwy,lights1,slowpoke,tiger12,kstate,password10,alex69,collins1,9632147,doglover,baseball2,security1,grunts,orange2,godloves,213qwe879,julieb,1qazxsw23edcvfr4,noidea,8uiazp,betsy1,junior2,parol123,123456zz,piehonkii,kanker,bunky,hingis,reese1,qaz123456,sidewinder,tonedup,footsie,blackpoo,jalapeno,mummy1,always1,josh1,rockyboy,plucky,chicag,nadroj,blarney,blood123,wheaties,packer1,ravens1,mrjones,gfhjkm007,anna2010,awatar,guitar12,hashish,scale1,tomwaits,amrita,fantasma,rfpfym,pass2,tigris,bigair,slicker,sylvi,shilpa,cindylou,archie1,bitches1,poppys,ontime,horney1,camaroz28,alladin,bujhm,cq2kph,alina1,wvj5np,1211123a,tetons,scorelan,concordi,morgan2,awacs,shanty,tomcat14,andrew123,bear69,vitae,fred99,chingy,octane,belgario,fatdaddy,rhodan,password23,sexxes,boomtown,joshua01,war3demo,my2kids,buck1,hot4you,monamour,12345aa,yumiko,parool,carlton1,neverland,rose12,right1,sociald,grouse,brandon0,cat222,alex00,civicex,bintang,malkav,arschloc,dodgeviper,qwerty666,goduke,dante123,boss1,ontheroc,corpsman,love14,uiegu451,hardtail,irondoor,ghjrehfnehf,36460341,konijn,h2slca,kondom25,123456ss,cfytxrf,btnjey,nando,freemail,comander,natas666,siouxsie,hummer1,biomed,dimsum,yankees0,diablo666,lesbian1,pot420,jasonm,glock23,jennyb,itsmine,lena2010,whattheh,beandip,abaddon,kishore,signup,apogee,biteme12,suzieq,vgfun4,iseeyou,rifleman,qwerta,4pussy,hawkman,guest1,june17,dicksuck,bootay,cash12,bassale,ktybyuhfl,leetch,nescafe,7ovtgimc,clapton1,auror,boonie,tracker1,john69,bellas,cabinboy,yonkers,silky1,ladyffesta,drache,kamil1,davidp,bad123,snoopy12,sanche,werthvfy,achille,nefertiti,gerald1,slage33,warszawa,macsan26,mason123,kotopes,welcome8,nascar99,kiril,77778888,hairy1,monito,comicsans,81726354,killabee,arclight,yuo67,feelme,86753099,nnssnn,monday12,88351132,88889999,websters,subito,asdf12345,vaz2108,zvbxrpl,159753456852,rezeda,multimed,noaccess,henrique,tascam,captiva,zadrot,hateyou,sophie12,123123456,snoop1,charlie8,birmingh,hardline,libert,azsxdcf,89172735872,rjpthju,bondar,philips1,olegnaruto,myword,yakman,stardog,banana12,1234567890w,farout,annick,duke01,rfj422,billard,glock19,shaolin1,master10,cinderel,deltaone,manning1,biggreen,sidney1,patty1,goforit1,766rglqy,sevendus,aristotl,armagedo,blumen,gfhfyjz,kazakov,lekbyxxx,accord1,idiota,soccer16,texas123,victoire,ololo,chris01,bobbbb,299792458,eeeeeee1,confiden,07070,clarks,techno1,kayley,stang1,wwwwww1,uuuuu1,neverdie,jasonr,cavscout,481516234,mylove1,shaitan,1qazxcvb,barbaros,123456782000,123wer,thissucks,7seven,227722,faerie,hayduke,dbacks,snorkel,zmxncbv,tiger99,unknown1,melmac,polo1234,sssssss1,1fire,369147,bandung,bluejean,nivram,stanle,ctcnhf,soccer20,blingbli,dirtball,alex2112,183461,skylin,boobman,geronto,brittany1,yyz2112,gizmo69,ktrcec,dakota12,chiken,sexy11,vg08k714,bernadet,1bulldog,beachs,hollyb,maryjoy,margo1,danielle1,chakra,alexand,hullcity,matrix12,sarenna,pablos,antler,supercar,chomsky,german1,airjordan,545ettvy,camaron,flight1,netvideo,tootall,valheru,481516,1234as,skimmer,redcross,inuyash,uthvfy,1012nw,edoardo,bjhgfi,golf11,9379992a,lagarto,socball,boopie,krazy,.adgjmptw,gaydar,kovalev,geddylee,firstone,turbodog,loveee,135711,badbo,trapdoor,opopop11,danny2,max2000,526452,kerry1,leapfrog,daisy2,134kzbip,1andrea,playa1,peekab00,heskey,pirrello,gsewfmck,dimon4ik,puppie,chelios,554433,hypnodanny,fantik,yhwnqc,ghbdtngjrf,anchorag,buffett1,fanta,sappho,024680,vialli,chiva,lucylu,hashem,exbntkm,thema,23jordan,jake11,wildside,smartie,emerica,2wj2k9oj,ventrue,timoth,lamers,baerchen,suspende,boobis,denman85,1adam12,otello,king12,dzakuni,qsawbbs,isgay,porno123,jam123,daytona1,tazzie,bunny123,amaterasu,jeffre,crocus,mastercard,bitchedup,chicago7,aynrand,intel1,tamila,alianza,mulch,merlin12,rose123,alcapone,mircea,loveher,joseph12,chelsea6,dorothy1,wolfgar,unlimite,arturik,qwerty3,paddy1,piramid,linda123,cooool,millie1,warlock1,forgotit,tort02,ilikeyou,avensis,loveislife,dumbass1,clint1,2110se,drlove,olesia,kalinina,sergey123,123423,alicia1,markova,tri5a3,media1,willia1,xxxxxxx1,beercan,smk7366,jesusislord,motherfuck,smacker,birthday5,jbaby,harley2,hyper1,a9387670a,honey2,corvet,gjmptw,rjhjkmbien,apollon,madhuri,3a5irt,cessna17,saluki,digweed,tamia1,yja3vo,cfvlehfr,1111111q,martyna,stimpy1,anjana,yankeemp,jupiler,idkfa,1blue,fromv,afric,3xbobobo,liverp00l,nikon1,amadeus1,acer123,napoleo,david7,vbhjckfdf,mojo69,percy1,pirates1,grunt1,alenushka,finbar,zsxdcf,mandy123,1fred,timewarp,747bbb,druids,julia123,123321qq,spacebar,dreads,fcbarcelona,angela12,anima,christopher1,stargazer,123123s,hockey11,brewski,marlbor,blinker,motorhead,damngood,werthrf,letmein3,moremoney,killer99,anneke,eatit,pilatus,andrew01,fiona1,maitai,blucher,zxgdqn,e5pftu,nagual,panic1,andron,openwide,alphabeta,alison1,chelsea8,fende,mmm666,1shot2,a19l1980,123456@,1black,m1chael,vagner,realgood,maxxx,vekmnbr,stifler,2509mmh,tarkan,sherzod,1234567b,gunners1,artem2010,shooby,sammie1,p123456,piggie,abcde12345,nokia6230,moldir,piter,1qaz3edc,frequenc,acuransx,1star,nikeair,alex21,dapimp,ranjan,ilovegirls,anastasiy,berbatov,manso,21436587,leafs1,106666,angelochek,ingodwetrust,123456aaa,deano,korsar,pipetka,thunder9,minka,himura,installdevic,1qqqqq,digitalprodu,suckmeoff,plonker,headers,vlasov,ktr1996,windsor1,mishanya,garfield1,korvin,littlebit,azaz09,vandamme,scripto,s4114d,passward,britt1,r1chard,ferrari5,running1,7xswzaq,falcon2,pepper76,trademan,ea53g5,graham1,volvos80,reanimator,micasa,1234554321q,kairat,escorpion,sanek94,karolina1,kolovrat,karen2,1qaz@wsx,racing1,splooge,sarah2,deadman1,creed1,nooner,minicoop,oceane,room112,charme,12345ab,summer00,wetcunt,drewman,nastyman,redfire,appels,merlin69,dolfin,bornfree,diskette,ohwell,12345678qwe,jasont,madcap,cobra2,dolemit1,whatthehell,juanit,voldemar,rocke,bianc,elendil,vtufgjkbc,hotwheels,spanis,sukram,pokerface,k1ller,freakout,dontae,realmadri,drumss,gorams,258789,snakey,jasonn,whitewolf,befree,johnny99,pooka,theghost,kennys,vfvektxrf,toby1,jumpman23,deadlock,barbwire,stellina,alexa1,dalamar,mustanggt,northwes,tesoro,chameleo,sigtau,satoshi,george11,hotcum,cornell1,golfer12,geek01d,trololo,kellym,megapolis,pepsi2,hea666,monkfish,blue52,sarajane,bowler1,skeets,ddgirls,hfccbz,bailey01,isabella1,dreday,moose123,baobab,crushme,000009,veryhot,roadie,meanone,mike18,henriett,dohcvtec,moulin,gulnur,adastra,angel9,western1,natura,sweetpe,dtnfkm,marsbar,daisys,frogger1,virus1,redwood1,streetball,fridolin,d78unhxq,midas,michelob,cantik,sk2000,kikker,macanudo,rambone,fizzle,20000,peanuts1,cowpie,stone32,astaroth,dakota01,redso,mustard1,sexylove,giantess,teaparty,bobbin,beerbong,monet1,charles3,anniedog,anna1988,cameleon,longbeach,tamere,qpful542,mesquite,waldemar,12345zx,iamhere,lowboy,canard,granp,daisymay,love33,moosejaw,nivek,ninjaman,shrike01,aaa777,88002000600,vodolei,bambush,falcor,harley69,alphaomega,severine,grappler,bosox,twogirls,gatorman,vettes,buttmunch,chyna,excelsio,crayfish,birillo,megumi,lsia9dnb9y,littlebo,stevek,hiroyuki,firehous,master5,briley2,gangste,chrisk,camaleon,bulle,troyboy,froinlaven,mybutt,sandhya,rapala,jagged,crazycat,lucky12,jetman,wavmanuk,1heather,beegee,negril,mario123,funtime1,conehead,abigai,mhorgan,patagoni,travel1,backspace,frenchfr,mudcat,dashenka,baseball3,rustys,741852kk,dickme,baller23,griffey1,suckmycock,fuhrfzgc,jenny2,spuds,berlin1,justfun,icewind,bumerang,pavlusha,minecraft123,shasta1,ranger12,123400,twisters,buthead,miked,finance1,dignity7,hello9,lvjdp383,jgthfnjh,dalmatio,paparoach,miller31,2bornot2b,fathe,monterre,theblues,satans,schaap,jasmine2,sibelius,manon,heslo,jcnhjd,shane123,natasha2,pierrot,bluecar,iloveass,harriso,red12,london20,job314,beholder,reddawg,fuckyou!,pussylick,bologna1,austintx,ole4ka,blotto,onering,jearly,balbes,lightbul,bighorn,crossfir,lee123,prapor,1ashley,gfhjkm22,wwe123,09090,sexsite,marina123,jagua,witch1,schmoo,parkview,dragon3,chilango,ultimo,abramova,nautique,2bornot2,duende,1arthur,nightwing,surfboar,quant4307,15s9pu03,karina1,shitball,walleye1,wildman1,whytesha,1morgan,my2girls,polic,baranova,berezuckiy,kkkkkk1,forzima,fornow,qwerty02,gokart,suckit69,davidlee,whatnow,edgard,tits1,bayshore,36987412,ghbphfr,daddyy,explore1,zoidberg,5qnzjx,morgane,danilov,blacksex,mickey12,balsam,83y6pv,sarahc,slaye,all4u2,slayer69,nadia1,rlzwp503,4cranker,kaylie,numberon,teremok,wolf12,deeppurple,goodbeer,aaa555,66669999,whatif,harmony1,ue8fpw,3tmnej,254xtpss,dusty197,wcksdypk,zerkalo,dfnheirf,motorol,digita,whoareyou,darksoul,manics,rounders,killer11,d2000lb,cegthgfhjkm,catdog1,beograd,pepsico,julius1,123654987,softbal,killer23,weasel1,lifeson,q123456q,444555666,bunches,andy1,darby1,service01,bear11,jordan123,amega,duncan21,yensid,lerxst,rassvet,bronco2,fortis,pornlove,paiste,198900,asdflkjh,1236547890,futur,eugene1,winnipeg261,fk8bhydb,seanjohn,brimston,matthe1,bitchedu,crisco,302731,roxydog,woodlawn,volgograd,ace1210,boy4u2ownnyc,laura123,pronger,parker12,z123456z,andrew13,longlife,sarang,drogba,gobruins,soccer4,holida,espace,almira,murmansk,green22,safina,wm00022,1chevy,schlumpf,doroth,ulises,golf99,hellyes,detlef,mydog,erkina,bastardo,mashenka,sucram,wehttam,generic1,195000,spaceboy,lopas123,scammer,skynyrd,daddy2,titani,ficker,cr250r,kbnthfnehf,takedown,sticky1,davidruiz,desant,nremtp,painter1,bogies,agamemno,kansas1,smallfry,archi,2b4dnvsx,1player,saddie,peapod,6458zn7a,qvw6n2,gfxqx686,twice2,sh4d0w3d,mayfly,375125,phitau,yqmbevgk,89211375759,kumar1,pfhfpf,toyboy,way2go,7pvn4t,pass69,chipster,spoony,buddycat,diamond3,rincewin,hobie,david01,billbo,hxp4life,matild,pokemon2,dimochka,clown1,148888,jenmt3,cuxldv,cqnwhy,cde34rfv,simone1,verynice,toobig,pasha123,mike00,maria2,lolpop,firewire,dragon9,martesana,a1234567890,birthday3,providen,kiska,pitbulls,556655,misawa,damned69,martin11,goldorak,gunship,glory1,winxclub,sixgun,splodge,agent1,splitter,dome69,ifghjb,eliza1,snaiper,wutang36,phoenix7,666425,arshavin,paulaner,namron,m69fg1w,qwert1234,terrys,zesyrmvu,joeman,scoots,dwml9f,625vrobg,sally123,gostoso,symow8,pelota,c43qpul5rz,majinbuu,lithium1,bigstuff,horndog1,kipelov,kringle,1beavis,loshara,octobe,jmzacf,12342000,qw12qw,runescape1,chargers1,krokus,piknik,jessy,778811,gjvbljh,474jdvff,pleaser,misskitty,breaker1,7f4df451,dayan,twinky,yakumo,chippers,matia,tanith,len2ski1,manni,nichol1,f00b4r,nokia3110,standart,123456789i,shami,steffie,larrywn,chucker,john99,chamois,jjjkkk,penmouse,ktnj2010,gooners,hemmelig,rodney1,merlin01,bearcat1,1yyyyy,159753z,1fffff,1ddddd,thomas11,gjkbyrf,ivanka,f1f2f3,petrovna,phunky,conair,brian2,creative1,klipsch,vbitymrf,freek,breitlin,cecili,westwing,gohabsgo,tippmann,1steve,quattro6,fatbob,sp00ky,rastas,1123581,redsea,rfnmrf,jerky1,1aaaaaa,spk666,simba123,qwert54321,123abcd,beavis69,fyfyfc,starr1,1236547,peanutbutter,sintra,12345abcde,1357246,abcde1,climbon,755dfx,mermaids,monte1,serkan,geilesau,777win,jasonc,parkside,imagine1,rockhead,producti,playhard,principa,spammer,gagher,escada,tsv1860,dbyjuhfl,cruiser1,kennyg,montgome,2481632,pompano,cum123,angel6,sooty,bear01,april6,bodyhamm,pugsly,getrich,mikes,pelusa,fosgate,jasonp,rostislav,kimberly1,128mo,dallas11,gooner1,manuel1,cocacola1,imesh,5782790,password8,daboys,1jones,intheend,e3w2q1,whisper1,madone,pjcgujrat,1p2o3i,jamesp,felicida,nemrac,phikap,firecat,jrcfyjxrf,matt12,bigfan,doedel,005500,jasonx,1234567k,badfish,goosey,utjuhfabz,wilco,artem123,igor123,spike123,jor23dan,dga9la,v2jmsz,morgan12,avery1,dogstyle,natasa,221195ws,twopac,oktober7,karthik,poop1,mightymo,davidr,zermatt,jehova,aezakmi1,dimwit,monkey5,serega123,qwerty111,blabl,casey22,boy123,1clutch,asdfjkl1,hariom,bruce10,jeep95,1smith,sm9934,karishma,bazzzz,aristo,669e53e1,nesterov,kill666,fihdfv,1abc2,anna1,silver11,mojoman,telefono,goeagles,sd3lpgdr,rfhfynby,melinda1,llcoolj,idteul,bigchief,rocky13,timberwo,ballers,gatekeep,kashif,hardass,anastasija,max777,vfuyjkbz,riesling,agent99,kappas,dalglish,tincan,orange3,turtoise,abkbvjy,mike24,hugedick,alabala,geolog,aziza,devilboy,habanero,waheguru,funboy,freedom5,natwest,seashore,impaler,qwaszx1,pastas,bmw535,tecktonik,mika00,jobsearc,pinche,puntang,aw96b6,1corvett,skorpio,foundati,zzr1100,gembird,vfnhjcrby,soccer18,vaz2110,peterp,archer1,cross1,samedi,dima1992,hunter99,lipper,hotbody,zhjckfdf,ducati1,trailer1,04325956,cheryl1,benetton,kononenko,sloneczko,rfgtkmrf,nashua,balalaika,ampere,eliston,dorsai,digge,flyrod,oxymoron,minolta,ironmike,majortom,karimov,fortun,putaria,an83546921an13,blade123,franchis,mxaigtg5,dynxyu,devlt4,brasi,terces,wqmfuh,nqdgxz,dale88,minchia,seeyou,housepen,1apple,1buddy,mariusz,bighouse,tango2,flimflam,nicola1,qwertyasd,tomek1,shumaher,kartoshka,bassss,canaries,redman1,123456789as,preciosa,allblacks,navidad,tommaso,beaudog,forrest1,green23,ryjgjxrf,go4it,ironman2,badnews,butterba,1grizzly,isaeva,rembrand,toront,1richard,bigjon,yfltymrf,1kitty,4ng62t,littlejo,wolfdog,ctvtyjd,spain1,megryan,tatertot,raven69,4809594q,tapout,stuntman,a131313,lagers,hotstuf,lfdbl11,stanley2,advokat,boloto,7894561,dooker,adxel187,cleodog,4play,0p9o8i,masterb,bimota,charlee,toystory,6820055,6666667,crevette,6031769,corsa,bingoo,dima1990,tennis11,samuri,avocado,melissa6,unicor,habari,metart,needsex,cockman,hernan,3891576,3334444,amigo1,gobuffs2,mike21,allianz,2835493,179355,midgard,joey123,oneluv,ellis1,towncar,shonuff,scouse,tool69,thomas19,chorizo,jblaze,lisa1,dima1999,sophia1,anna1989,vfvekbxrf,krasavica,redlegs,jason25,tbontb,katrine,eumesmo,vfhufhbnrf,1654321,asdfghj1,motdepas,booga,doogle,1453145,byron1,158272,kardinal,tanne,fallen1,abcd12345,ufyljy,n12345,kucing,burberry,bodger,1234578,februar,1234512,nekkid,prober,harrison1,idlewild,rfnz90,foiegras,pussy21,bigstud,denzel,tiffany2,bigwill,1234567890zzz,hello69,compute1,viper9,hellspaw,trythis,gococks,dogballs,delfi,lupine,millenia,newdelhi,charlest,basspro,1mike,joeblack,975310,1rosebud,batman11,misterio,fucknut,charlie0,august11,juancho,ilonka,jigei743ks,adam1234,889900,goonie,alicat,ggggggg1,1zzzzzzz,sexywife,northstar,chris23,888111,containe,trojan1,jason5,graikos,1ggggg,1eeeee,tigers01,indigo1,hotmale,jacob123,mishima,richard3,cjxb2014,coco123,meagain,thaman,wallst,edgewood,bundas,1power,matilda1,maradon,hookedup,jemima,r3vi3wpass,2004-10-,mudman,taz123,xswzaq,emerson1,anna21,warlord1,toering,pelle,tgwdvu,masterb8,wallstre,moppel,priora,ghjcnjrdfif,yoland,12332100,1j9e7f6f,jazzzz,yesman,brianm,42qwerty42,12345698,darkmanx,nirmal,john31,bb123456,neuspeed,billgates,moguls,fj1200,hbhlair,shaun1,ghbdfn,305pwzlr,nbu3cd,susanb,pimpdad,mangust6403,joedog,dawidek,gigante,708090,703751,700007,ikalcr,tbivbn,697769,marvi,iyaayas,karen123,jimmyboy,dozer1,e6z8jh,bigtime1,getdown,kevin12,brookly,zjduc3,nolan1,cobber,yr8wdxcq,liebe,m1garand,blah123,616879,action1,600000,sumitomo,albcaz,asian1,557799,dave69,556699,sasa123,streaker,michel1,karate1,buddy7,daulet,koks888,roadtrip,wapiti,oldguy,illini1,1234qq,mrspock,kwiatek,buterfly,august31,jibxhq,jackin,taxicab,tristram,talisker,446655,444666,chrisa,freespace,vfhbfyyf,chevell,444333,notyours,442244,christian1,seemore,sniper12,marlin1,joker666,multik,devilish,crf450,cdfoli,eastern1,asshead,duhast,voyager2,cyberia,1wizard,cybernet,iloveme1,veterok,karandash,392781,looksee,diddy,diabolic,foofight,missey,herbert1,bmw318i,premier1,zsfmpv,eric1234,dun6sm,fuck11,345543,spudman,lurker,bitem,lizzy1,ironsink,minami,339311,s7fhs127,sterne,332233,plankton,galax,azuywe,changepa,august25,mouse123,sikici,killer69,xswqaz,quovadis,gnomik,033028pw,777777a,barrakuda,spawn666,goodgod,slurp,morbius,yelnats,cujo31,norman1,fastone,earwig,aureli,wordlife,bnfkbz,yasmi,austin123,timberla,missy2,legalize,netcom,liljon,takeit,georgin,987654321z,warbird,vitalina,all4u3,mmmmmm1,bichon,ellobo,wahoos,fcazmj,aksarben,lodoss,satnam,vasili,197800,maarten,sam138989,0u812,ankita,walte,prince12,anvils,bestia,hoschi,198300,univer,jack10,ktyecbr,gr00vy,hokie,wolfman1,fuckwit,geyser,emmanue,ybrjkftd,qwerty33,karat,dblock,avocat,bobbym,womersle,1please,nostra,dayana,billyray,alternat,iloveu1,qwerty69,rammstein1,mystikal,winne,drawde,executor,craxxxs,ghjcnjnf,999888777,welshman,access123,963214785,951753852,babe69,fvcnthlfv,****me,666999666,testing2,199200,nintendo64,oscarr,guido8,zhanna,gumshoe,jbird,159357456,pasca,123452345,satan6,mithrand,fhbirf,aa1111aa,viggen,ficktjuv,radial9,davids1,rainbow7,futuro,hipho,platin,poppy123,rhenjq,fulle,rosit,chicano,scrumpy,lumpy1,seifer,uvmrysez,autumn1,xenon,susie1,7u8i9o0p,gamer1,sirene,muffy1,monkeys1,kalinin,olcrackmaster,hotmove,uconn,gshock,merson,lthtdyz,pizzaboy,peggy1,pistache,pinto1,fishka,ladydi,pandor,baileys,hungwell,redboy,rookie1,amanda01,passwrd,clean1,matty1,tarkus,jabba1,bobster,beer30,solomon1,moneymon,sesamo,fred11,sunnysid,jasmine5,thebears,putamadre,workhard,flashbac,counter1,liefde,magnat,corky1,green6,abramov,lordik,univers,shortys,david3,vip123,gnarly,1234567s,billy2,honkey,deathstar,grimmy,govinda,direktor,12345678s,linus1,shoppin,rekbrjdf,santeria,prett,berty75,mohican,daftpunk,uekmyfhf,chupa,strats,ironbird,giants56,salisbur,koldun,summer04,pondscum,jimmyj,miata1,george3,redshoes,weezie,bartman1,0p9o8i7u,s1lver,dorkus,125478,omega9,sexisgood,mancow,patric1,jetta1,074401,ghjuhtcc,gfhjk,bibble,terry2,123213,medicin,rebel2,hen3ry,4freedom,aldrin,lovesyou,browny,renwod,winnie1,belladon,1house,tyghbn,blessme,rfhfrfnbwf,haylee,deepdive,booya,phantasy,gansta,cock69,4mnveh,gazza1,redapple,structur,anakin1,manolito,steve01,poolman,chloe123,vlad1998,qazwsxe,pushit,random123,ontherocks,o236nq,brain1,dimedrol,agape,rovnogod,1balls,knigh,alliso,love01,wolf01,flintstone,beernuts,tuffguy,isengard,highfive,alex23,casper99,rubina,getreal,chinita,italian1,airsoft,qwerty23,muffdiver,willi1,grace123,orioles1,redbull1,chino1,ziggy123,breadman,estefan,ljcneg,gotoit,logan123,wideglid,mancity1,treess,qwe123456,kazumi,qweasdqwe,oddworld,naveed,protos,towson,a801016,godislov,at_asp,bambam1,soccer5,dark123,67vette,carlos123,hoser1,scouser,wesdxc,pelus,dragon25,pflhjn,abdula,1freedom,policema,tarkin,eduardo1,mackdad,gfhjkm11,lfplhfgthvf,adilet,zzzzxxxx,childre,samarkand,cegthgegth,shama,fresher,silvestr,greaser,allout,plmokn,sexdrive,nintendo1,fantasy7,oleander,fe126fd,crumpet,pingzing,dionis,hipster,yfcnz,requin,calliope,jerome1,housecat,abc123456789,doghot,snake123,augus,brillig,chronic1,gfhjkbot,expediti,noisette,master7,caliban,whitetai,favorite3,lisamari,educatio,ghjhjr,saber1,zcegth,1958proman,vtkrbq,milkdud,imajica,thehip,bailey10,hockey19,dkflbdjcnjr,j123456,bernar,aeiouy,gamlet,deltachi,endzone,conni,bcgfybz,brandi1,auckland2010,7653ajl1,mardigra,testuser,bunko18,camaro67,36936,greenie,454dfmcq,6xe8j2z4,mrgreen,ranger5,headhunt,banshee1,moonunit,zyltrc,hello3,pussyboy,stoopid,tigger11,yellow12,drums1,blue02,kils123,junkman,banyan,jimmyjam,tbbucs,sportster,badass1,joshie,braves10,lajolla,1amanda,antani,78787,antero,19216801,chich,rhett32,sarahm,beloit,sucker69,corkey,nicosnn,rccola,caracol,daffyduc,bunny2,mantas,monkies,hedonist,cacapipi,ashton1,sid123,19899891,patche,greekgod,cbr1000,leader1,19977991,ettore,chongo,113311,picass,cfif123,rhtfnbd,frances1,andy12,minnette,bigboy12,green69,alices,babcia,partyboy,javabean,freehand,qawsed123,xxx111,harold1,passwo,jonny1,kappa1,w2dlww3v5p,1merlin,222999,tomjones,jakeman,franken,markhegarty,john01,carole1,daveman,caseys,apeman,mookey,moon123,claret,titans1,residentevil,campari,curitiba,dovetail,aerostar,jackdaniels,basenji,zaq12w,glencoe,biglove,goober12,ncc170,far7766,monkey21,eclipse9,1234567v,vanechka,aristote,grumble,belgorod,abhishek,neworleans,pazzword,dummie,sashadog,diablo11,mst3000,koala1,maureen1,jake99,isaiah1,funkster,gillian1,ekaterina20,chibears,astra123,4me2no,winte,skippe,necro,windows9,vinograd,demolay,vika2010,quiksilver,19371ayj,dollar1,shecky,qzwxecrv,butterfly1,merrill1,scoreland,1crazy,megastar,mandragora,track1,dedhed,jacob2,newhope,qawsedrftgyh,shack1,samvel,gatita,shyster,clara1,telstar,office1,crickett,truls,nirmala,joselito,chrisl,lesnik,aaaabbbb,austin01,leto2010,bubbie,aaa12345,widder,234432,salinger,mrsmith,qazsedcft,newshoes,skunks,yt1300,bmw316,arbeit,smoove,123321qweewq,123qazwsx,22221111,seesaw,0987654321a,peach1,1029384756q,sereda,gerrard8,shit123,batcave,energy1,peterb,mytruck,peter12,alesya,tomato1,spirou,laputaxx,magoo1,omgkremidia,knight12,norton1,vladislava,shaddy,austin11,jlbyjxrf,kbdthgekm,punheta,fetish69,exploiter,roger2,manstein,gtnhjd,32615948worms,dogbreath,ujkjdjkjvrf,vodka1,ripcord,fatrat,kotek1,tiziana,larrybir,thunder3,nbvfnb,9kyq6fge,remembe,likemike,gavin1,shinigam,yfcnfcmz,13245678,jabbar,vampyr,ane4ka,lollipo,ashwin,scuderia,limpdick,deagle,3247562,vishenka,fdhjhf,alex02,volvov70,mandys,bioshock,caraca,tombraider,matrix69,jeff123,13579135,parazit,black3,noway1,diablos,hitmen,garden1,aminor,decembe,august12,b00ger,006900,452073t,schach,hitman1,mariner1,vbnmrf,paint1,742617000027,bitchboy,pfqxjyjr,5681392,marryher,sinnet,malik1,muffin12,aninha,piolin,lady12,traffic1,cbvjyf,6345789,june21,ivan2010,ryan123,honda99,gunny,coorslight,asd321,hunter69,7224763,sonofgod,dolphins1,1dolphin,pavlenko,woodwind,lovelov,pinkpant,gblfhfcbyf,hotel1,justinbiebe,vinter,jeff1234,mydogs,1pizza,boats1,parrothe,shawshan,brooklyn1,cbrown,1rocky,hemi426,dragon64,redwings1,porsches,ghostly,hubbahub,buttnut,b929ezzh,sorokina,flashg,fritos,b7mguk,metatron,treehous,vorpal,8902792,marcu,free123,labamba,chiefs1,zxc123zxc,keli_14,hotti,1steeler,money4,rakker,foxwoods,free1,ahjkjd,sidorova,snowwhit,neptune1,mrlover,trader1,nudelamb,baloo,power7,deltasig,bills1,trevo,7gorwell,nokia6630,nokia5320,madhatte,1cowboys,manga1,namtab,sanjar,fanny1,birdman1,adv12775,carlo1,dude1998,babyhuey,nicole11,madmike,ubvyfpbz,qawsedr,lifetec,skyhook,stalker123,toolong,robertso,ripazha,zippy123,1111111a,manol,dirtyman,analslut,jason3,dutches,minhasenha,cerise,fenrir,jayjay1,flatbush,franka,bhbyjxrf,26429vadim,lawntrax,198700,fritzy,nikhil,ripper1,harami,truckman,nemvxyheqdd5oqxyxyzi,gkfytnf,bugaboo,cableman,hairpie,xplorer,movado,hotsex69,mordred,ohyeah1,patrick3,frolov,katieh,4311111q,mochaj,presari,bigdo,753951852,freedom4,kapitan,tomas1,135795,sweet123,pokers,shagme,tane4ka,sentinal,ufgyndmv,jonnyb,skate123,123456798,123456788,very1,gerrit,damocles,dollarbi,caroline1,lloyds,pizdets,flatland,92702689,dave13,meoff,ajnjuhfabz,achmed,madison9,744744z,amonte,avrillavigne,elaine1,norma1,asseater,everlong,buddy23,cmgang1,trash1,mitsu,flyman,ulugbek,june27,magistr,fittan,sebora64,dingos,sleipnir,caterpil,cindys,212121qaz,partys,dialer,gjytltkmybr,qweqaz,janvier,rocawear,lostboy,aileron,sweety1,everest1,pornman,boombox,potter1,blackdic,44448888,eric123,112233aa,2502557i,novass,nanotech,yourname,x12345,indian1,15975300,1234567l,carla51,chicago0,coleta,cxzdsaewq,qqwweerr,marwan,deltic,hollys,qwerasd,pon32029,rainmake,nathan0,matveeva,legioner,kevink,riven,tombraid,blitzen,a54321,jackyl,chinese1,shalimar,oleg1995,beaches1,tommylee,eknock,berli,monkey23,badbob,pugwash,likewhoa,jesus2,yujyd360,belmar,shadow22,utfp5e,angelo1,minimax,pooder,cocoa1,moresex,tortue,lesbia,panthe,snoopy2,drumnbass,alway,gmcz71,6jhwmqku,leppard,dinsdale,blair1,boriqua,money111,virtuagirl,267605,rattlesn,1sunshin,monica12,veritas1,newmexic,millertime,turandot,rfvxfnrf,jaydog,kakawka,bowhunter,booboo12,deerpark,erreway,taylorma,rfkbybyf,wooglin,weegee,rexdog,iamhorny,cazzo1,vhou812,bacardi1,dctktyyfz,godpasi,peanut12,bertha1,fuckyoubitch,ghosty,altavista,jertoot,smokeit,ghjcnbvtyz,fhnehxbr,rolsen,qazxcdews,maddmaxx,redrocke,qazokm,spencer2,thekiller,asdf11,123sex,tupac1,p1234567,dbrown,1biteme,tgo4466,316769,sunghi,shakespe,frosty1,gucci1,arcana,bandit01,lyubov,poochy,dartmout,magpies1,sunnyd,mouseman,summer07,chester7,shalini,danbury,pigboy,dave99,deniss,harryb,ashley11,pppppp1,01081988m,balloon1,tkachenko,bucks1,master77,pussyca,tricky1,zzxxccvv,zoulou,doomer,mukesh,iluv69,supermax,todays,thefox,don123,dontask,diplom,piglett,shiney,fahbrf,qaz12wsx,temitope,reggin,project1,buffy2,inside1,lbpfqyth,vanilla1,lovecock,u4slpwra,fylh.irf,123211,7ertu3ds,necroman,chalky,artist1,simpso,4x7wjr,chaos666,lazyacres,harley99,ch33s3,marusa,eagle7,dilligas,computadora,lucky69,denwer,nissan350z,unforgiv,oddball,schalke0,aztec1,borisova,branden1,parkave,marie123,germa,lafayett,878kckxy,405060,cheeseca,bigwave,fred22,andreea,poulet,mercutio,psycholo,andrew88,o4izdmxu,sanctuar,newhome,milion,suckmydi,rjvgm.nth,warior,goodgame,1qwertyuiop,6339cndh,scorpio2,macker,southbay,crabcake,toadie,paperclip,fatkid,maddo,cliff1,rastafar,maries,twins1,geujdrf,anjela,wc4fun,dolina,mpetroff,rollout,zydeco,shadow3,pumpki,steeda,volvo240,terras,blowjo,blue2000,incognit,badmojo,gambit1,zhukov,station1,aaronb,graci,duke123,clipper1,qazxsw2,ledzeppe,kukareku,sexkitte,cinco,007008,lakers12,a1234b,acmilan1,afhfjy,starrr,slutty3,phoneman,kostyan,bonzo1,sintesi07,ersatz,cloud1,nephilim,nascar03,rey619,kairos,123456789e,hardon1,boeing1,juliya,hfccdtn,vgfun8,polizei,456838,keithb,minouche,ariston,savag,213141,clarkken,microwav,london2,santacla,campeo,qr5mx7,464811,mynuts,bombo,1mickey,lucky8,danger1,ironside,carter12,wyatt1,borntorun,iloveyou123,jose1,pancake1,tadmichaels,monsta,jugger,hunnie,triste,heat7777,ilovejesus,queeny,luckycharm,lieben,gordolee85,jtkirk,forever21,jetlag,skylane,taucher,neworlea,holera,000005,anhnhoem,melissa7,mumdad,massimiliano,dima1994,nigel1,madison3,slicky,shokolad,serenit,jmh1978,soccer123,chris3,drwho,rfpzdrf,1qasw23ed,free4me,wonka,sasquatc,sanan,maytag,verochka,bankone,molly12,monopoli,xfqybr,lamborgini,gondolin,candycane,needsome,jb007,scottie1,brigit,0147258369,kalamazo,lololyo123,bill1234,ilovejes,lol123123,popkorn,april13,567rntvm,downunde,charle1,angelbab,guildwars,homeworld,qazxcvbnm,superma1,dupa123,kryptoni,happyy,artyom,stormie,cool11,calvin69,saphir,konovalov,jansport,october8,liebling,druuna,susans,megans,tujhjdf,wmegrfux,jumbo1,ljb4dt7n,012345678910,kolesnik,speculum,at4gftlw,kurgan,93pn75,cahek0980,dallas01,godswill,fhifdby,chelsea4,jump23,barsoom,catinhat,urlacher,angel99,vidadi1,678910,lickme69,topaz1,westend,loveone,c12345,gold12,alex1959,mamon,barney12,1maggie,alex12345,lp2568cskt,s1234567,gjikbdctyf,anthony0,browns99,chips1,sunking,widespre,lalala1,tdutif,fucklife,master00,alino4ka,stakan,blonde1,phoebus,tenore,bvgthbz,brunos,suzjv8,uvdwgt,revenant,1banana,veroniqu,sexfun,sp1der,4g3izhox,isakov,shiva1,scooba,bluefire,wizard12,dimitris,funbags,perseus,hoodoo,keving,malboro,157953,a32tv8ls,latics,animate,mossad,yejntb,karting,qmpq39zr,busdrive,jtuac3my,jkne9y,sr20dett,4gxrzemq,keylargo,741147,rfktylfhm,toast1,skins1,xcalibur,gattone,seether,kameron,glock9mm,julio1,delenn,gameday,tommyd,str8edge,bulls123,66699,carlsberg,woodbird,adnama,45auto,codyman,truck2,1w2w3w4w,pvjegu,method1,luetdi,41d8cd98f00b,bankai,5432112345,94rwpe,reneee,chrisx,melvins,775577,sam2000,scrappy1,rachid,grizzley,margare,morgan01,winstons,gevorg,gonzal,crawdad,gfhfdjp,babilon,noneya,pussy11,barbell,easyride,c00li0,777771,311music,karla1,golions,19866891,peejay,leadfoot,hfvbkm,kr9z40sy,cobra123,isotwe,grizz,sallys,****you,aaa123a,dembel,foxs14,hillcres,webman,mudshark,alfredo1,weeded,lester1,hovepark,ratface,000777fffa,huskie,wildthing,elbarto,waikiki,masami,call911,goose2,regin,dovajb,agricola,cjytxrj,andy11,penny123,family01,a121212,1braves,upupa68,happy100,824655,cjlove,firsttim,kalel,redhair,dfhtymt,sliders,bananna,loverbo,fifa2008,crouton,chevy350,panties2,kolya1,alyona,hagrid,spagetti,q2w3e4r,867530,narkoman,nhfdvfnjkju123,1ccccccc,napolean,0072563,allay,w8sted,wigwam,jamesk,state1,parovoz,beach69,kevinb,rossella,logitech1,celula,gnocca,canucks1,loginova,marlboro1,aaaa1,kalleanka,mester,mishutka,milenko,alibek,jersey1,peterc,1mouse,nedved,blackone,ghfplybr,682regkh,beejay,newburgh,ruffian,clarets,noreaga,xenophon,hummerh2,tenshi,smeagol,soloyo,vfhnby,ereiamjh,ewq321,goomie,sportin,cellphone,sonnie,jetblack,saudan,gblfhfc,matheus,uhfvjnf,alicja,jayman1,devon1,hexagon,bailey2,vtufajy,yankees7,salty1,908070,killemal,gammas,eurocard,sydney12,tuesday1,antietam,wayfarer,beast666,19952009sa,aq12ws,eveli,hockey21,haloreach,dontcare,xxxx1,andrea11,karlmarx,jelszo,tylerb,protools,timberwolf,ruffneck,pololo,1bbbbb,waleed,sasami,twinss,fairlady,illuminati,alex007,sucks1,homerjay,scooter7,tarbaby,barmaley,amistad,vanes,randers,tigers12,dreamer2,goleafsg,googie,bernie1,as12345,godeep,james3,phanto,gwbush,cumlover,2196dc,studioworks,995511,golf56,titova,kaleka,itali,socks1,kurwamac,daisuke,hevonen,woody123,daisie,wouter,henry123,gostosa,guppie,porpoise,iamsexy,276115,paula123,1020315,38gjgeuftd,rjrfrjkf,knotty,idiot1,sasha12345,matrix13,securit,radical1,ag764ks,jsmith,coolguy1,secretar,juanas,sasha1988,itout,00000001,tiger11,1butthea,putain,cavalo,basia1,kobebryant,1232323,12345asdfg,sunsh1ne,cyfqgth,tomkat,dorota,dashit,pelmen,5t6y7u,whipit,smokeone,helloall,bonjour1,snowshoe,nilknarf,x1x2x3,lammas,1234599,lol123456,atombomb,ironchef,noclue,alekseev,gwbush1,silver2,12345678m,yesican,fahjlbnf,chapstic,alex95,open1,tiger200,lisichka,pogiako,cbr929,searchin,tanya123,alex1973,phil413,alex1991,dominati,geckos,freddi,silenthill,egroeg,vorobey,antoxa,dark666,shkola,apple22,rebellio,shamanking,7f8srt,cumsucker,partagas,bill99,22223333,arnster55,fucknuts,proxima,silversi,goblues,parcells,vfrcbvjdf,piloto,avocet,emily2,1597530,miniskir,himitsu,pepper2,juiceman,venom1,bogdana,jujube,quatro,botafogo,mama2010,junior12,derrickh,asdfrewq,miller2,chitarra,silverfox,napol,prestigio,devil123,mm111qm,ara123,max33484,sex2000,primo1,sephan,anyuta,alena2010,viborg,verysexy,hibiscus,terps,josefin,oxcart,spooker,speciali,raffaello,partyon,vfhvtkflrf,strela,a123456z,worksuck,glasss,lomonosov,dusty123,dukeblue,1winter,sergeeva,lala123,john22,cmc09,sobolev,bettylou,dannyb,gjkrjdybr,hagakure,iecnhbr,awsedr,pmdmsctsk,costco,alekseeva,fktrcttd,bazuka,flyingv,garuda,buffy16,gutierre,beer12,stomatolog,ernies,palmeiras,golf123,love269,n.kmgfy,gjkysqgbpltw,youare,joeboo,baksik,lifeguar,111a111,nascar8,mindgame,dude1,neopets,frdfkfyu,june24,phoenix8,penelopa,merlin99,mercenar,badluck,mishel,bookert,deadsexy,power9,chinchil,1234567m,alex10,skunk1,rfhkcjy,sammycat,wright1,randy2,marakesh,temppassword,elmer251,mooki,patrick0,bonoedge,1tits,chiar,kylie1,graffix,milkman1,cornel,mrkitty,nicole12,ticketmaster,beatles4,number20,ffff1,terps1,superfre,yfdbufnjh,jake1234,flblfc,1111qq,zanuda,jmol01,wpoolejr,polopol,nicolett,omega13,cannonba,123456789.,sandy69,ribeye,bo243ns,marilena,bogdan123,milla,redskins1,19733791,alias1,movie1,ducat,marzena,shadowru,56565,coolman1,pornlover,teepee,spiff,nafanya,gateway3,fuckyou0,hasher,34778,booboo69,staticx,hang10,qq12345,garnier,bosco123,1234567qw,carson1,samso,1xrg4kcq,cbr929rr,allan123,motorbik,andrew22,pussy101,miroslava,cytujdbr,camp0017,cobweb,snusmumrik,salmon1,cindy2,aliya,serendipity,co437at,tincouch,timmy123,hunter22,st1100,vvvvvv1,blanka,krondor,sweeti,nenit,kuzmich,gustavo1,bmw320i,alex2010,trees1,kyliem,essayons,april26,kumari,sprin,fajita,appletre,fghbjhb,1green,katieb,steven2,corrado1,satelite,1michell,123456789c,cfkfvfylhf,acurarsx,slut543,inhere,bob2000,pouncer,k123456789,fishie,aliso,audia8,bluetick,soccer69,jordan99,fromhell,mammoth1,fighting54,mike25,pepper11,extra1,worldwid,chaise,vfr800,sordfish,almat,nofate,listopad,hellgate,dctvghbdf,jeremia,qantas,lokiju,honker,sprint1,maral,triniti,compaq3,sixsix6,married1,loveman,juggalo1,repvtyrj,zxcasdqw,123445,whore1,123678,monkey6,west123,warcraf,pwnage,mystery1,creamyou,ant123,rehjgfnrf,corona1,coleman1,steve121,alderaan,barnaul,celeste1,junebug1,bombshel,gretzky9,tankist,targa,cachou,vaz2101,playgolf,boneyard,strateg,romawka,iforgotit,pullup,garbage1,irock,archmage,shaft1,oceano,sadies,alvin1,135135ab,psalm69,lmfao,ranger02,zaharova,33334444,perkman,realman,salguod,cmoney,astonmartin,glock1,greyfox,viper99,helpm,blackdick,46775575,family5,shazbot,dewey1,qwertyas,shivani,black22,mailman1,greenday1,57392632,red007,stanky,sanchez1,tysons,daruma,altosax,krayzie,85852008,1forever,98798798,irock.,123456654,142536789,ford22,brick1,michela,preciou,crazy4u,01telemike01,nolife,concac,safety1,annie123,brunswic,destini,123456qwer,madison0,snowball1,137946,1133557799,jarule,scout2,songohan,thedead,00009999,murphy01,spycam,hirsute,aurinko,associat,1miller,baklan,hermes1,2183rm,martie,kangoo,shweta,yvonne1,westsid,jackpot1,rotciv,maratik,fabrika,claude1,nursultan,noentry,ytnhjufnm,electra1,ghjcnjnfr1,puneet,smokey01,integrit,bugeye,trouble2,14071789,paul01,omgwtf,dmh415,ekilpool,yourmom1,moimeme,sparky11,boludo,ruslan123,kissme1,demetrio,appelsin,asshole3,raiders2,bunns,fynjybj,billygoa,p030710p$e4o,macdonal,248ujnfk,acorns,schmidt1,sparrow1,vinbylrj,weasle,jerom,ycwvrxxh,skywalk,gerlinde,solidus,postal1,poochie1,1charles,rhianna,terorist,rehnrf,omgwtfbbq,assfucke,deadend,zidan,jimboy,vengence,maroon5,7452tr,dalejr88,sombra,anatole,elodi,amazonas,147789,q12345q,gawker1,juanma,kassidy,greek1,bruces,bilbob,mike44,0o9i8u7y6t,kaligula,agentx,familie,anders1,pimpjuice,0128um,birthday10,lawncare,hownow,grandorgue,juggerna,scarfac,kensai,swatteam,123four,motorbike,repytxbr,other1,celicagt,pleomax,gen0303,godisgreat,icepick,lucifer666,heavy1,tea4two,forsure,02020,shortdog,webhead,chris13,palenque,3techsrl,knights1,orenburg,prong,nomarg,wutang1,80637852730,laika,iamfree,12345670,pillow1,12343412,bigears,peterg,stunna,rocky5,12123434,damir,feuerwehr,7418529630,danone,yanina,valenci,andy69,111222q,silvia1,1jjjjj,loveforever,passwo1,stratocaster,8928190a,motorolla,lateralu,ujujkm,chubba,ujkjdf,signon,123456789zx,serdce,stevo,wifey200,ololo123,popeye1,1pass,central1,melena,luxor,nemezida,poker123,ilovemusic,qaz1234,noodles1,lakeshow,amarill,ginseng,billiam,trento,321cba,fatback,soccer33,master13,marie2,newcar,bigtop,dark1,camron,nosgoth,155555,biglou,redbud,jordan7,159789,diversio,actros,dazed,drizzit,hjcnjd,wiktoria,justic,gooses,luzifer,darren1,chynna,tanuki,11335577,icculus,boobss,biggi,firstson,ceisi123,gatewa,hrothgar,jarhead1,happyjoy,felipe1,bebop1,medman,athena1,boneman,keiths,djljgfl,dicklick,russ120,mylady,zxcdsa,rock12,bluesea,kayaks,provista,luckies,smile4me,bootycal,enduro,123123f,heartbre,ern3sto,apple13,bigpappa,fy.njxrf,bigtom,cool69,perrito,quiet1,puszek,cious,cruella,temp1,david26,alemap,aa123123,teddies,tricolor,smokey12,kikiriki,mickey01,robert01,super5,ranman,stevenso,deliciou,money777,degauss,mozar,susanne1,asdasd12,shitbag,mommy123,wrestle1,imfree,fuckyou12,barbaris,florent,ujhijr,f8yruxoj,tefjps,anemone,toltec,2gether,left4dead2,ximen,gfkmvf,dunca,emilys,diana123,16473a,mark01,bigbro,annarbor,nikita2000,11aa11,tigres,llllll1,loser2,fbi11213,jupite,qwaszxqw,macabre,123ert,rev2000,mooooo,klapaucius,bagel1,chiquit,iyaoyas,bear101,irocz28,vfktymrfz,smokey2,love99,rfhnbyf,dracul,keith123,slicko,peacock1,orgasmic,thesnake,solder,wetass,doofer,david5,rhfcyjlfh,swanny,tammys,turkiye,tubaman,estefani,firehose,funnyguy,servo,grace17,pippa1,arbiter,jimmy69,nfymrf,asdf67nm,rjcnzy,demon123,thicknes,sexysex,kristall,michail,encarta,banderos,minty,marchenko,de1987ma,mo5kva,aircav,naomi1,bonni,tatoo,cronaldo,49ers1,mama1963,1truck,telecaster,punksnotdead,erotik,1eagles,1fender,luv269,acdeehan,tanner1,freema,1q3e5t7u,linksys,tiger6,megaman1,neophyte,australia1,mydaddy,1jeffrey,fgdfgdfg,gfgekz,1986irachka,keyman,m0b1l3,dfcz123,mikeyg,playstation2,abc125,slacker1,110491g,lordsoth,bhavani,ssecca,dctvghbdtn,niblick,hondacar,baby01,worldcom,4034407,51094didi,3657549,3630000,3578951,sweetpussy,majick,supercoo,robert11,abacabb,panda123,gfhjkm13,ford4x4,zippo1,lapin,1726354,lovesong,dude11,moebius,paravoz,1357642,matkhau,solnyshko,daniel4,multiplelog,starik,martusia,iamtheman,greentre,jetblue,motorrad,vfrcbvev,redoak,dogma1,gnorman,komlos,tonka1,1010220,666satan,losenord,lateralus,absinthe,command1,jigga1,iiiiiii1,pants1,jungfrau,926337,ufhhbgjnnth,yamakasi,888555,sunny7,gemini69,alone1,zxcvbnmz,cabezon,skyblues,zxc1234,456123a,zero00,caseih,azzurra,legolas1,menudo,murcielago,785612,779977,benidorm,viperman,dima1985,piglet1,hemligt,hotfeet,7elephants,hardup,gamess,a000000,267ksyjf,kaitlynn,sharkie,sisyphus,yellow22,667766,redvette,666420,mets69,ac2zxdty,hxxrvwcy,cdavis,alan1,noddy,579300,druss,eatshit1,555123,appleseed,simpleplan,kazak,526282,fynfyfyfhbde,birthday6,dragon6,1pookie,bluedevils,omg123,hj8z6e,x5dxwp,455445,batman23,termin,chrisbrown,animals1,lucky9,443322,kzktxrf,takayuki,fermer,assembler,zomu9q,sissyboy,sergant,felina,nokia6230i,eminem12,croco,hunt4red,festina,darknigh,cptnz062,ndshnx4s,twizzler,wnmaz7sd,aamaax,gfhfcjkmrf,alabama123,barrynov,happy5,punt0it,durandal,8xuuobe4,cmu9ggzh,bruno12,316497,crazyfrog,vfvfktyf,apple3,kasey1,mackdaddy,anthon1,sunnys,angel3,cribbage,moon1,donal,bryce1,pandabear,mwss474,whitesta,freaker,197100,bitche,p2ssw0rd,turnb,tiktonik,moonlite,ferret1,jackas,ferrum,bearclaw,liberty2,1diablo,caribe,snakeeyes,janbam,azonic,rainmaker,vetalik,bigeasy,baby1234,sureno13,blink1,kluivert,calbears,lavanda,198600,dhtlbyf,medvedeva,fox123,whirling,bonscott,freedom9,october3,manoman,segredo,cerulean,robinso,bsmith,flatus,dannon,password21,rrrrrr1,callista,romai,rainman1,trantor,mickeymo,bulldog7,g123456,pavlin,pass22,snowie,hookah,7ofnine,bubba22,cabible,nicerack,moomoo1,summer98,yoyo123,milan1,lieve27,mustang69,jackster,exocet,nadege,qaz12,bahama,watson1,libras,eclipse2,bahram,bapezm,up9x8rww,ghjcnjz,themaste,deflep27,ghost16,gattaca,fotograf,junior123,gilber,gbjyth,8vjzus,rosco1,begonia,aldebara,flower12,novastar,buzzman,manchild,lopez1,mama11,william7,yfcnz1,blackstar,spurs123,moom4242,1amber,iownyou,tightend,07931505,paquito,1johnson,smokepot,pi31415,snowmass,ayacdc,jessicam,giuliana,5tgbnhy6,harlee,giuli,bigwig,tentacle,scoubidou2,benelli,vasilina,nimda,284655,jaihind,lero4ka,1tommy,reggi,ididit,jlbyjxtcndj,mike26,qbert,wweraw,lukasz,loosee123,palantir,flint1,mapper,baldie,saturne,virgin1,meeeee,elkcit,iloveme2,blue15,themoon,radmir,number3,shyanne,missle,hannelor,jasmina,karin1,lewie622,ghjcnjqgfhjkm,blasters,oiseau,sheela,grinders,panget,rapido,positiv,twink,fltkbyf,kzsfj874,daniel01,enjoyit,nofags,doodad,rustler,squealer,fortunat,peace123,khushi,devils2,7inches,candlebo,topdawg,armen,soundman,zxcqweasd,april7,gazeta,netman,hoppers,bear99,ghbjhbntn,mantle7,bigbo,harpo,jgordon,bullshi,vinny1,krishn,star22,thunderc,galinka,phish123,tintable,nightcrawler,tigerboy,rbhgbx,messi,basilisk,masha1998,nina123,yomamma,kayla123,geemoney,0000000000d,motoman,a3jtni,ser123,owen10,italien,vintelok,12345rewq,nightime,jeepin,ch1tt1ck,mxyzptlk,bandido,ohboy,doctorj,hussar,superted,parfilev,grundle,1jack,livestrong,chrisj,matthew3,access22,moikka,fatone,miguelit,trivium,glenn1,smooches,heiko,dezember,spaghett,stason,molokai,bossdog,guitarma,waderh,boriska,photosho,path13,hfrtnf,audre,junior24,monkey24,silke,vaz21093,bigblue1,trident1,candide,arcanum,klinker,orange99,bengals1,rosebu,mjujuj,nallepuh,mtwapa1a,ranger69,level1,bissjop,leica,1tiffany,rutabega,elvis77,kellie1,sameas,barada,karabas,frank12,queenb,toutoune,surfcity,samanth1,monitor1,littledo,kazakova,fodase,mistral1,april22,carlit,shakal,batman123,fuckoff2,alpha01,5544332211,buddy3,towtruck,kenwood1,vfiekmrf,jkl123,pypsik,ranger75,sitges,toyman,bartek1,ladygirl,booman,boeing77,installsqlst,222666,gosling,bigmack,223311,bogos,kevin2,gomez1,xohzi3g4,kfnju842,klubnika,cubalibr,123456789101,kenpo,0147852369,raptor1,tallulah,boobys,jjones,1q2s3c,moogie,vid2600,almas,wombat1,extra300,xfiles1,green77,sexsex1,heyjude,sammyy,missy123,maiyeuem,nccpl25282,thicluv,sissie,raven3,fldjrfn,buster22,broncos2,laurab,letmein4,harrydog,solovey,fishlips,asdf4321,ford123,superjet,norwegen,movieman,psw333333,intoit,postbank,deepwate,ola123,geolog323,murphys,eshort,a3eilm2s2y,kimota,belous,saurus,123321qaz,i81b4u,aaa12,monkey20,buckwild,byabybnb,mapleleafs,yfcnzyfcnz,baby69,summer03,twista,246890,246824,ltcnhjth,z1z2z3,monika1,sad123,uto29321,bathory,villan,funkey,poptarts,spam967888,705499fh,sebast,porn1234,earn381,1porsche,whatthef,123456789y,polo12,brillo,soreilly,waters1,eudora,allochka,is_a_bot,winter00,bassplay,531879fiz,onemore,bjarne,red911,kot123,artur1,qazxdr,c0rvette,diamond7,matematica,klesko,beaver12,2enter,seashell,panam,chaching,edward2,browni,xenogear,cornfed,aniram,chicco22,darwin1,ancella2,sophie2,vika1998,anneli,shawn41,babie,resolute,pandora2,william8,twoone,coors1,jesusis1,teh012,cheerlea,renfield,tessa1,anna1986,madness1,bkmlfh,19719870,liebherr,ck6znp42,gary123,123654z,alsscan,eyedoc,matrix7,metalgea,chinito,4iter,falcon11,7jokx7b9du,bigfeet,tassadar,retnuh,muscle1,klimova,darion,batistuta,bigsur,1herbier,noonie,ghjrehjh,karimova,faustus,snowwhite,1manager,dasboot,michael12,analfuck,inbed,dwdrums,jaysoncj,maranell,bsheep75,164379,rolodex,166666,rrrrrrr1,almaz666,167943,russel1,negrito,alianz,goodpussy,veronik,1w2q3r4e,efremov,emb377,sdpass,william6,alanfahy,nastya1995,panther5,automag,123qwe12,vfvf2011,fishe,1peanut,speedie,qazwsx1234,pass999,171204j,ketamine,sheena1,energizer,usethis1,123abc123,buster21,thechamp,flvbhfk,frank69,chane,hopeful1,claybird,pander,anusha,bigmaxxx,faktor,housebed,dimidrol,bigball,shashi,derby1,fredy,dervish,bootycall,80988218126,killerb,cheese2,pariss,mymail,dell123,catbert,christa1,chevytru,gjgjdf,00998877,overdriv,ratten,golf01,nyyanks,dinamite,bloembol,gismo,magnus1,march2,twinkles,ryan22,duckey,118a105b,kitcat,brielle,poussin,lanzarot,youngone,ssvegeta,hero63,battle1,kiler,fktrcfylh1,newera,vika1996,dynomite,oooppp,beer4me,foodie,ljhjuf,sonshine,godess,doug1,constanc,thinkbig,steve2,damnyou,autogod,www333,kyle1,ranger7,roller1,harry2,dustin1,hopalong,tkachuk,b00bies,bill2,deep111,stuffit,fire69,redfish1,andrei123,graphix,1fishing,kimbo1,mlesp31,ifufkbyf,gurkan,44556,emily123,busman,and123,8546404,paladine,1world,bulgakov,4294967296,bball23,1wwwww,mycats,elain,delta6,36363,emilyb,color1,6060842,cdtnkfyrf,hedonism,gfgfrfhkj,5551298,scubad,gostate,sillyme,hdbiker,beardown,fishers,sektor,00000007,newbaby,rapid1,braves95,gator2,nigge,anthony3,sammmy,oou812,heffer,phishin,roxanne1,yourass,hornet1,albator,2521659,underwat,tanusha,dianas,3f3fpht7op,dragon20,bilbobag,cheroke,radiatio,dwarf1,majik,33st33,dochka,garibald,robinh,sham69,temp01,wakeboar,violet1,1w2w3w,registr,tonite,maranello,1593570,parolamea,galatasara,loranthos,1472583,asmodean,1362840,scylla,doneit,jokerr,porkypig,kungen,mercator,koolhaas,come2me,debbie69,calbear,liverpoolfc,yankees4,12344321a,kennyb,madma,85200258,dustin23,thomas13,tooling,mikasa,mistic,crfnbyf,112233445,sofia1,heinz57,colts1,price1,snowey,joakim,mark11,963147,cnhfcnm,kzinti,1bbbbbbb,rubberdu,donthate,rupert1,sasha1992,regis1,nbuhbwf,fanboy,sundial,sooner1,wayout,vjnjhjkf,deskpro,arkangel,willie12,mikeyb,celtic1888,luis1,buddy01,duane1,grandma1,aolcom,weeman,172839456,basshead,hornball,magnu,pagedown,molly2,131517,rfvtgbyhn,astonmar,mistery,madalina,cash1,1happy,shenlong,matrix01,nazarova,369874125,800500,webguy,rse2540,ashley2,briank,789551,786110,chunli,j0nathan,greshnik,courtne,suckmyco,mjollnir,789632147,asdfg1234,754321,odelay,ranma12,zebedee,artem777,bmw318is,butt1,rambler1,yankees9,alabam,5w76rnqp,rosies,mafioso,studio1,babyruth,tranzit,magical123,gfhjkm135,12345$,soboleva,709394,ubique,drizzt1,elmers,teamster,pokemons,1472583690,1597532486,shockers,merckx,melanie2,ttocs,clarisse,earth1,dennys,slobber,flagman,farfalla,troika,4fa82hyx,hakan,x4ww5qdr,cumsuck,leather1,forum1,july20,barbel,zodiak,samuel12,ford01,rushfan,bugsy1,invest1,tumadre,screwme,a666666,money5,henry8,tiddles,sailaway,starburs,100years,killer01,comando,hiromi,ranetka,thordog,blackhole,palmeira,verboten,solidsna,q1w1e1,humme,kevinc,gbrfxe,gevaudan,hannah11,peter2,vangar,sharky7,talktome,jesse123,chuchi,pammy,!qazxsw2,siesta,twenty1,wetwilly,477041,natural1,sun123,daniel3,intersta,shithead1,hellyea,bonethugs,solitair,bubbles2,father1,nick01,444000,adidas12,dripik,cameron2,442200,a7nz8546,respublika,fkojn6gb,428054,snoppy,rulez1,haslo,rachael1,purple01,zldej102,ab12cd34,cytuehjxrf,madhu,astroman,preteen,handsoff,mrblonde,biggio,testin,vfdhif,twolves,unclesam,asmara,kpydskcw,lg2wmgvr,grolsch,biarritz,feather1,williamm,s62i93,bone1,penske,337733,336633,taurus1,334433,billet,diamondd,333000,nukem,fishhook,godogs,thehun,lena1982,blue00,smelly1,unb4g9ty,65pjv22,applegat,mikehunt,giancarlo,krillin,felix123,december1,soapy,46doris,nicole23,bigsexy1,justin10,pingu,bambou,falcon12,dgthtl,1surfer,qwerty01,estrellit,nfqcjy,easygo,konica,qazqwe,1234567890m,stingers,nonrev,3e4r5t,champio,bbbbbb99,196400,allen123,seppel,simba2,rockme,zebra3,tekken3,endgame,sandy2,197300,fitte,monkey00,eldritch,littleone,rfyfgkz,1member,66chevy,oohrah,cormac,hpmrbm41,197600,grayfox,elvis69,celebrit,maxwell7,rodders,krist,1camaro,broken1,kendall1,silkcut,katenka,angrick,maruni,17071994a,tktyf,kruemel,snuffles,iro4ka,baby12,alexis01,marryme,vlad1994,forward1,culero,badaboom,malvin,hardtoon,hatelove,molley,knopo4ka,duchess1,mensuck,cba321,kickbutt,zastava,wayner,fuckyou6,eddie123,cjkysir,john33,dragonfi,cody1,jabell,cjhjrf,badseed,sweden1,marihuana,brownlov,elland,nike1234,kwiettie,jonnyboy,togepi,billyk,robert123,bb334,florenci,ssgoku,198910,bristol1,bob007,allister,yjdujhjl,gauloise,198920,bellaboo,9lives,aguilas,wltfg4ta,foxyroxy,rocket69,fifty50,babalu,master21,malinois,kaluga,gogosox,obsessio,yeahrigh,panthers1,capstan,liza2000,leigh1,paintball1,blueskie,cbr600f3,bagdad,jose98,mandreki,shark01,wonderbo,muledeer,xsvnd4b2,hangten,200001,grenden,anaell,apa195,model1,245lufpq,zip100,ghjcgtrn,wert1234,misty2,charro,juanjose,fkbcrf,frostbit,badminto,buddyy,1doctor,vanya,archibal,parviz,spunky1,footboy,dm6tzsgp,legola,samadhi,poopee,ytdxz2ca,hallowboy,dposton,gautie,theworm,guilherme,dopehead,iluvtits,bobbob1,ranger6,worldwar,lowkey,chewbaca,oooooo99,ducttape,dedalus,celular,8i9o0p,borisenko,taylor01,111111z,arlingto,p3nnywiz,rdgpl3ds,boobless,kcmfwesg,blacksab,mother2,markus1,leachim,secret2,s123456789,1derful,espero,russell2,tazzer,marykate,freakme,mollyb,lindros8,james00,gofaster,stokrotka,kilbosik,aquamann,pawel1,shedevil,mousie,slot2009,october6,146969,mm259up,brewcrew,choucho,uliana,sexfiend,fktirf,pantss,vladimi,starz,sheeps,12341234q,bigun,tiggers,crjhjcnm,libtech,pudge1,home12,zircon,klaus1,jerry2,pink1,lingus,monkey66,dumass,polopolo09,feuerweh,rjyatnf,chessy,beefer,shamen,poohbear1,4jjcho,bennevis,fatgirls,ujnbrf,cdexswzaq,9noize9,rich123,nomoney,racecar1,hacke,clahay,acuario,getsum,hondacrv,william0,cheyenn,techdeck,atljhjdf,wtcacq,suger,fallenangel,bammer,tranquil,carla123,relayer,lespaul1,portvale,idontno,bycnbnen,trooper2,gennadiy,pompon,billbob,amazonka,akitas,chinatow,atkbrc,busters,fitness1,cateye,selfok2013,1murphy,fullhous,mucker,bajskorv,nectarin,littlebitch,love24,feyenoor,bigal37,lambo1,pussybitch,icecube1,biged,kyocera,ltybcjdf,boodle,theking1,gotrice,sunset1,abm1224,fromme,sexsells,inheat,kenya1,swinger1,aphrodit,kurtcobain,rhind101,poidog,poiulkjh,kuzmina,beantown,tony88,stuttgar,drumer,joaqui,messenge,motorman,amber2,nicegirl,rachel69,andreia,faith123,studmuffin,jaiden,red111,vtkmybr,gamecocks,gumper,bosshogg,4me2know,tokyo1,kleaner,roadhog,fuckmeno,phoenix3,seeme,buttnutt,boner69,andreyka,myheart,katerin,rugburn,jvtuepip,dc3ubn,chile1,ashley69,happy99,swissair,balls2,fylhttdf,jimboo,55555d,mickey11,voronin,m7hsqstm,stufff,merete,weihnachte,dowjones,baloo1,freeones,bears34,auburn1,beverl,timberland,1elvis,guinness1,bombadil,flatron1,logging7,telefoon,merl1n,masha1,andrei1,cowabung,yousuck1,1matrix,peopl,asd123qwe,sweett,mirror1,torrente,joker12,diamond6,jackaroo,00000a,millerlite,ironhorse,2twins,stryke,gggg1,zzzxxxccc,roosevel,8363eddy,angel21,depeche1,d0ct0r,blue14,areyou,veloce,grendal,frederiksberg,cbcntvf,cb207sl,sasha2000,was.here,fritzz,rosedale,spinoza,cokeisit,gandalf3,skidmark,ashley01,12345j,1234567890qaz,sexxxxxx,beagles,lennart,12345789,pass10,politic,max007,gcheckou,12345611,tiffy,lightman,mushin,velosiped,brucewayne,gauthie,elena123,greenegg,h2oski,clocker,nitemare,123321s,megiddo,cassidy1,david13,boywonde,flori,peggy12,pgszt6md,batterie,redlands,scooter6,bckhere,trueno,bailey11,maxwell2,bandana,timoth1,startnow,ducati74,tiern,maxine1,blackmetal,suzyq,balla007,phatfarm,kirsten1,titmouse,benhogan,culito,forbin,chess1,warren1,panman,mickey7,24lover,dascha,speed2,redlion,andrew10,johnwayn,nike23,chacha1,bendog,bullyboy,goldtree,spookie,tigger99,1cookie,poutine,cyclone1,woodpony,camaleun,bluesky1,dfadan,eagles20,lovergirl,peepshow,mine1,dima1989,rjdfkmxer,11111aaaaa,machina,august17,1hhhhh,0773417k,1monster,freaksho,jazzmin,davidw,kurupt,chumly,huggies,sashenka,ccccccc1,bridge1,giggalo,cincinna,pistol1,hello22,david77,lightfoo,lucky6,jimmy12,261397,lisa12,tabaluga,mysite,belo4ka,greenn,eagle99,punkrawk,salvado,slick123,wichsen,knight99,dummys,fefolico,contrera,kalle1,anna1984,delray,robert99,garena,pretende,racefan,alons,serenada,ludmilla,cnhtkjr,l0swf9gx,hankster,dfktynbyrf,sheep1,john23,cv141ab,kalyani,944turbo,crystal2,blackfly,zrjdktdf,eus1sue1,mario5,riverplate,harddriv,melissa3,elliott1,sexybitc,cnhfyybr,jimdavis,bollix,beta1,amberlee,skywalk1,natala,1blood,brattax,shitty1,gb15kv99,ronjon,rothmans,thedoc,joey21,hotboi,firedawg,bimbo38,jibber,aftermat,nomar,01478963,phishing,domodo,anna13,materia,martha1,budman1,gunblade,exclusiv,sasha1997,anastas,rebecca2,fackyou,kallisti,fuckmyass,norseman,ipswich1,151500,1edward,intelinside,darcy1,bcrich,yjdjcnbf,failte,buzzzz,cream1,tatiana1,7eleven,green8,153351,1a2s3d4f5g6h,154263,milano1,bambi1,bruins77,rugby2,jamal1,bolita,sundaypunch,bubba12,realmadr,vfyxtcnth,iwojima,notlob,black666,valkiria,nexus1,millerti,birthday100,swiss1,appollo,gefest,greeneyes,celebrat,tigerr,slava123,izumrud,bubbabub,legoman,joesmith,katya123,sweetdream,john44,wwwwwww1,oooooo1,socal,lovespor,s5r8ed67s,258147,heidis,cowboy22,wachovia,michaelb,qwe1234567,i12345,255225,goldie1,alfa155,45colt,safeu851,antonova,longtong,1sparky,gfvznm,busen,hjlbjy,whateva,rocky4,cokeman,joshua3,kekskek1,sirocco,jagman,123456qwert,phinupi,thomas10,loller,sakur,vika2011,fullred,mariska,azucar,ncstate,glenn74,halima,aleshka,ilovemylife,verlaat,baggie,scoubidou6,phatboy,jbruton,scoop1,barney11,blindman,def456,maximus2,master55,nestea,11223355,diego123,sexpistols,sniffy,philip1,f12345,prisonbreak,nokia2700,ajnjuhfa,yankees3,colfax,ak470000,mtnman,bdfyeirf,fotball,ichbin,trebla,ilusha,riobravo,beaner1,thoradin,polkaudi,kurosawa,honda123,ladybu,valerik,poltava,saviola,fuckyouguys,754740g0,anallove,microlab1,juris01,ncc1864,garfild,shania1,qagsud,makarenko,cindy69,lebedev,andrew11,johnnybo,groovy1,booster1,sanders1,tommyb,johnson4,kd189nlcih,hondaman,vlasova,chick1,sokada,sevisgur,bear2327,chacho,sexmania,roma1993,hjcnbckfd,valley1,howdie,tuppence,jimandanne,strike3,y4kuz4,nhfnfnf,tsubasa,19955991,scabby,quincunx,dima1998,uuuuuu1,logica,skinner1,pinguino,lisa1234,xpressmusic,getfucked,qqqq1,bbbb1,matulino,ulyana,upsman,johnsmith,123579,co2000,spanner1,todiefor,mangoes,isabel1,123852,negra,snowdon,nikki123,bronx1,booom,ram2500,chuck123,fireboy,creek1,batman13,princesse,az12345,maksat,1knight,28infern,241455,r7112s,muselman,mets1986,katydid,vlad777,playme,kmfdm1,asssex,1prince,iop890,bigbroth,mollymoo,waitron,lizottes,125412,juggler,quinta,0sister0,zanardi,nata123,heckfyxbr,22q04w90e,engine2,nikita95,zamira,hammer22,lutscher,carolina1,zz6319,sanman,vfuflfy,buster99,rossco,kourniko,aggarwal,tattoo1,janice1,finger1,125521,19911992,shdwlnds,rudenko,vfvfgfgf123,galatea,monkeybu,juhani,premiumcash,classact,devilmay,helpme2,knuddel,hardpack,ramil,perrit,basil1,zombie13,stockcar,tos8217,honeypie,nowayman,alphadog,melon1,talula,125689,tiribon12,tornike,haribol,telefone,tiger22,sucka,lfytxrf,chicken123,muggins,a23456,b1234567,lytdybr,otter1,pippa,vasilisk,cooking1,helter,78978,bestboy,viper7,ahmed1,whitewol,mommys,apple5,shazam1,chelsea7,kumiko,masterma,rallye,bushmast,jkz123,entrar,andrew6,nathan01,alaric,tavasz,heimdall,gravy1,jimmy99,cthlwt,powerr,gthtrhtcnjr,canesfan,sasha11,ybrbnf_25,august9,brucie,artichok,arnie1,superdude,tarelka,mickey22,dooper,luners,holeshot,good123,gettysbu,bicho,hammer99,divine5,1zxcvbn,stronzo,q22222,disne,bmw750il,godhead,hallodu,aerith,nastik,differen,cestmoi,amber69,5string,pornosta,dirtygirl,ginger123,formel1,scott12,honda200,hotspurs,johnatha,firstone123,lexmark1,msconfig,karlmasc,l123456,123qweasdzx,baldman,sungod,furka,retsub,9811020,ryder1,tcglyued,astron,lbvfcbr,minddoc,dirt49,baseball12,tbear,simpl,schuey,artimus,bikman,plat1num,quantex,gotyou,hailey1,justin01,ellada,8481068,000002,manimal,dthjybxrf,buck123,dick123,6969696,nospam,strong1,kodeord,bama12,123321w,superman123,gladiolus,nintend,5792076,dreamgirl,spankme1,gautam,arianna1,titti,tetas,cool1234,belladog,importan,4206969,87e5nclizry,teufelo7,doller,yfl.irf,quaresma,3440172,melis,bradle,nnmaster,fast1,iverso,blargh,lucas12,chrisg,iamsam,123321az,tomjerry,kawika,2597174,standrew,billyg,muskan,gizmodo2,rz93qpmq,870621345,sathya,qmezrxg4,januari,marthe,moom4261,cum2me,hkger286,lou1988,suckit1,croaker,klaudia1,753951456,aidan1,fsunoles,romanenko,abbydog,isthebes,akshay,corgi,fuck666,walkman555,ranger98,scorpian,hardwareid,bluedragon,fastman,2305822q,iddqdiddqd,1597532,gopokes,zvfrfcb,w1234567,sputnik1,tr1993,pa$$w0rd,2i5fdruv,havvoc,1357913,1313131,bnm123,cowd00d,flexscan,thesims2,boogiema,bigsexxy,powerstr,ngc4565,joshman,babyboy1,123jlb,funfunfu,qwe456,honor1,puttana,bobbyj,daniel21,pussy12,shmuck,1232580,123578951,maxthedo,hithere1,bond0007,gehenna,nomames,blueone,r1234567,bwana,gatinho,1011111,torrents,cinta,123451234,tiger25,money69,edibey,pointman,mmcm19,wales1,caffreys,phaedra,bloodlus,321ret32,rufuss,tarbit,joanna1,102030405,stickboy,lotrfotr34,jamshid,mclarenf1,ataman,99ford,yarrak,logan2,ironlung,pushistik,dragoon1,unclebob,tigereye,pinokio,tylerj,mermaid1,stevie1,jaylen,888777,ramana,roman777,brandon7,17711771s,thiago,luigi1,edgar1,brucey,videogam,classi,birder,faramir,twiddle,cubalibre,grizzy,fucky,jjvwd4,august15,idinahui,ranita,nikita1998,123342,w1w2w3,78621323,4cancel,789963,(null,vassago,jaydog472,123452,timt42,canada99,123589,rebenok,htyfnf,785001,osipov,maks123,neverwinter,love2010,777222,67390436,eleanor1,bykemo,aquemini,frogg,roboto,thorny,shipmate,logcabin,66005918,nokian,gonzos,louisian,1abcdefg,triathlo,ilovemar,couger,letmeino,supera,runvs,fibonacci,muttly,58565254,5thgbqi,vfnehsv,electr,jose12,artemis1,newlove,thd1shr,hawkey,grigoryan,saisha,tosca,redder,lifesux,temple1,bunnyman,thekids,sabbeth,tarzan1,182838,158uefas,dell50,1super,666222,47ds8x,jackhamm,mineonly,rfnfhbyf,048ro,665259,kristina1,bombero,52545856,secure1,bigloser,peterk,alex2,51525354,anarchy1,superx,teenslut,money23,sigmapi,sanfrancisco,acme34,private5,eclips,qwerttrewq,axelle,kokain,hardguy,peter69,jesuschr,dyanna,dude69,sarah69,toyota91,amberr,45645645,bugmenot,bigted,44556677,556644,wwr8x9pu,alphaome,harley13,kolia123,wejrpfpu,revelati,nairda,sodoff,cityboy,pinkpussy,dkalis,miami305,wow12345,triplet,tannenbau,asdfasdf1,darkhors,527952,retired1,soxfan,nfyz123,37583867,goddes,515069,gxlmxbewym,1warrior,36925814,dmb2011,topten,karpova,89876065093rax,naturals,gateway9,cepseoun,turbot,493949,cock22,italia1,sasafras,gopnik,stalke,1qazxdr5,wm2006,ace1062,alieva,blue28,aracel,sandia,motoguzz,terri1,emmajane,conej,recoba,alex1995,jerkyboy,cowboy12,arenrone,precisio,31415927,scsa316,panzer1,studly1,powerhou,bensam,mashoutq,billee,eeyore1,reape,thebeatl,rul3z,montesa,doodle1,cvzefh1gk,424365,a159753,zimmerma,gumdrop,ashaman,grimreap,icandoit,borodina,branca,dima2009,keywest1,vaders,bubluk,diavolo,assss,goleta,eatass,napster1,382436,369741,5411pimo,lenchik,pikach,gilgamesh,kalimera,singer1,gordon2,rjycnbnewbz,maulwurf,joker13,2much4u,bond00,alice123,robotec,fuckgirl,zgjybz,redhorse,margaret1,brady1,pumpkin2,chinky,fourplay,1booger,roisin,1brandon,sandan,blackheart,cheez,blackfin,cntgfyjdf,mymoney1,09080706,goodboss,sebring1,rose1,kensingt,bigboner,marcus12,ym3cautj,struppi,thestone,lovebugs,stater,silver99,forest99,qazwsx12345,vasile,longboar,mkonji,huligan,rhfcbdfz,airmail,porn11,1ooooo,sofun,snake2,msouthwa,dougla,1iceman,shahrukh,sharona,dragon666,france98,196800,196820,ps253535,zjses9evpa,sniper01,design1,konfeta,jack99,drum66,good4you,station2,brucew,regedit,school12,mvtnr765,pub113,fantas,tiburon1,king99,ghjcnjgbpltw,checkito,308win,1ladybug,corneliu,svetasveta,197430,icicle,imaccess,ou81269,jjjdsl,brandon6,bimbo1,smokee,piccolo1,3611jcmg,children2,cookie2,conor1,darth1,margera,aoi856,paully,ou812345,sklave,eklhigcz,30624700,amazing1,wahooo,seau55,1beer,apples2,chulo,dolphin9,heather6,198206,198207,hergood,miracle1,njhyflj,4real,milka,silverfi,fabfive,spring12,ermine,mammy,jumpjet,adilbek,toscana,caustic,hotlove,sammy69,lolita1,byoung,whipme,barney01,mistys,tree1,buster3,kaylin,gfccgjhn,132333,aishiteru,pangaea,fathead1,smurph,198701,ryslan,gasto,xexeylhf,anisimov,chevyss,saskatoo,brandy12,tweaker,irish123,music2,denny1,palpatin,outlaw1,lovesuck,woman1,mrpibb,diadora,hfnfneq,poulette,harlock,mclaren1,cooper12,newpass3,bobby12,rfgecnfcerf,alskdjfh,mini14,dukers,raffael,199103,cleo123,1234567qwertyu,mossberg,scoopy,dctulf,starline,hjvjxrf,misfits1,rangers2,bilbos,blackhea,pappnase,atwork,purple2,daywalker,summoner,1jjjjjjj,swansong,chris10,laluna,12345qqq,charly1,lionsden,money99,silver33,hoghead,bdaddy,199430,saisg002,nosaints,tirpitz,1gggggg,jason13,kingss,ernest1,0cdh0v99ue,pkunzip,arowana,spiri,deskjet1,armine,lances,magic2,thetaxi,14159265,cacique,14142135,orange10,richard0,backdraf,255ooo,humtum,kohsamui,c43dae874d,wrestling1,cbhtym,sorento,megha,pepsiman,qweqwe12,bliss7,mario64,korolev,balls123,schlange,gordit,optiquest,fatdick,fish99,richy,nottoday,dianne1,armyof1,1234qwerasdfzxcv,bbonds,aekara,lidiya,baddog1,yellow5,funkie,ryan01,greentree,gcheckout,marshal1,liliput,000000z,rfhbyrf,gtogto43,rumpole,tarado,marcelit,aqwzsxedc,kenshin1,sassydog,system12,belly1,zilla,kissfan,tools1,desember,donsdad,nick11,scorpio6,poopoo1,toto99,steph123,dogfuck,rocket21,thx113,dude12,sanek,sommar,smacky,pimpsta,letmego,k1200rs,lytghjgtnhjdcr,abigale,buddog,deles,baseball9,roofus,carlsbad,hamzah,hereiam,genial,schoolgirlie,yfz450,breads,piesek,washear,chimay,apocalyp,nicole18,gfgf1234,gobulls,dnevnik,wonderwall,beer1234,1moose,beer69,maryann1,adpass,mike34,birdcage,hottuna,gigant,penquin,praveen,donna123,123lol123,thesame,fregat,adidas11,selrahc,pandoras,test3,chasmo,111222333000,pecos,daniel11,ingersol,shana1,mama12345,cessna15,myhero,1simpson,nazarenko,cognit,seattle2,irina1,azfpc310,rfycthdf,hardy1,jazmyn,sl1200,hotlanta,jason22,kumar123,sujatha,fsd9shtyu,highjump,changer,entertai,kolding,mrbig,sayuri,eagle21,qwertzu,jorge1,0101dd,bigdong,ou812a,sinatra1,htcnjhfy,oleg123,videoman,pbyfblf,tv612se,bigbird1,kenaidog,gunite,silverma,ardmore,123123qq,hotbot,cascada,cbr600f4,harakiri,chico123,boscos,aaron12,glasgow1,kmn5hc,lanfear,1light,liveoak,fizika,ybrjkftdyf,surfside,intermilan,multipas,redcard,72chevy,balata,coolio1,schroede,kanat,testerer,camion,kierra,hejmeddig,antonio2,tornados,isidor,pinkey,n8skfswa,ginny1,houndog,1bill,chris25,hastur,1marine,greatdan,french1,hatman,123qqq,z1z2z3z4,kicker1,katiedog,usopen,smith22,mrmagoo,1234512i,assa123,7seven7,monster7,june12,bpvtyf,149521,guenter,alex1985,voronina,mbkugegs,zaqwsxcderfv,rusty5,mystic1,master0,abcdef12,jndfkb,r4zpm3,cheesey,skripka,blackwhite,sharon69,dro8smwq,lektor,techman,boognish,deidara,heckfyf,quietkey,authcode,monkey4,jayboy,pinkerto,merengue,chulita,bushwick,turambar,kittykit,joseph2,dad123,kristo,pepote,scheiss,hambone1,bigballa,restaura,tequil,111luzer,euro2000,motox,denhaag,chelsi,flaco1,preeti,lillo,1001sin,passw,august24,beatoff,555555d,willis1,kissthis,qwertyz,rvgmw2gl,iloveboobies,timati,kimbo,msinfo,dewdrop,sdbaker,fcc5nky2,messiah1,catboy,small1,chode,beastie1,star77,hvidovre,short1,xavie,dagobah,alex1987,papageno,dakota2,toonami,fuerte,jesus33,lawina,souppp,dirtybir,chrish,naturist,channel1,peyote,flibble,gutentag,lactate,killem,zucchero,robinho,ditka,grumpy1,avr7000,boxxer,topcop,berry1,mypass1,beverly1,deuce1,9638527410,cthuttdf,kzkmrf,lovethem,band1t,cantona1,purple11,apples123,wonderwo,123a456,fuzzie,lucky99,dancer2,hoddling,rockcity,winner12,spooty,mansfiel,aimee1,287hf71h,rudiger,culebra,god123,agent86,daniel0,bunky1,notmine,9ball,goofus,puffy1,xyh28af4,kulikov,bankshot,vurdf5i2,kevinm,ercole,sexygirls,razvan,october7,goater,lollie,raissa,thefrog,mdmaiwa3,mascha,jesussaves,union1,anthony9,crossroa,brother2,areyuke,rodman91,toonsex,dopeman,gericom,vaz2115,cockgobbler,12356789,12345699,signatur,alexandra1,coolwhip,erwin1,awdrgyjilp,pens66,ghjrjgtyrj,linkinpark,emergenc,psych0,blood666,bootmort,wetworks,piroca,johnd,iamthe1,supermario,homer69,flameon,image1,bebert,fylhtq1,annapoli,apple11,hockey22,10048,indahouse,mykiss,1penguin,markp,misha123,foghat,march11,hank1,santorin,defcon4,tampico,vbnhjafy,robert22,bunkie,athlon64,sex777,nextdoor,koskesh,lolnoob,seemnemaailm,black23,march15,yeehaa,chiqui,teagan,siegheil,monday2,cornhusk,mamusia,chilis,sthgrtst,feldspar,scottm,pugdog,rfghjy,micmac,gtnhjdyf,terminato,1jackson,kakosja,bogomol,123321aa,rkbvtyrj,tresor,tigertig,fuckitall,vbkkbjy,caramon,zxc12,balin,dildo1,soccer09,avata,abby123,cheetah1,marquise,jennyc,hondavfr,tinti,anna1985,dennis2,jorel,mayflowe,icema,hal2000,nikkis,bigmouth,greenery,nurjan,leonov,liberty7,fafnir,larionov,sat321321,byteme1,nausicaa,hjvfynbrf,everto,zebra123,sergio1,titone,wisdom1,kahala,104328q,marcin1,salima,pcitra,1nnnnn,nalini,galvesto,neeraj,rick1,squeeky,agnes1,jitterbu,agshar,maria12,0112358,traxxas,stivone,prophet1,bananza,sommer1,canoneos,hotfun,redsox11,1bigmac,dctdjkjl,legion1,everclea,valenok,black9,danny001,roxie1,1theman,mudslide,july16,lechef,chula,glamis,emilka,canbeef,ioanna,cactus1,rockshox,im2cool,ninja9,thvfrjdf,june28,milo17,missyou,micky1,nbibyf,nokiaa,goldi,mattias,fuckthem,asdzxc123,ironfist,junior01,nesta,crazzy,killswit,hygge,zantac,kazama,melvin1,allston,maandag,hiccup,prototyp,specboot,dwl610,hello6,159456,baldhead,redwhite,calpoly,whitetail,agile1,cousteau,matt01,aust1n,malcolmx,gjlfhjr,semperf1,ferarri,a1b2c3d,vangelis,mkvdari,bettis36,andzia,comand,tazzman,morgaine,pepluv,anna1990,inandout,anetka,anna1997,wallpape,moonrake,huntress,hogtie,cameron7,sammy7,singe11,clownboy,newzeala,wilmar,safrane,rebeld,poopi,granat,hammertime,nermin,11251422,xyzzy1,bogeys,jkmxbr,fktrcfyl,11223311,nfyrbcn,11223300,powerpla,zoedog,ybrbnbyf,zaphod42,tarawa,jxfhjdfirf,dude1234,g5wks9,goobe,czekolada,blackros,amaranth,medical1,thereds,julija,nhecsyfujkjdt,promopas,buddy4,marmalad,weihnachten,tronic,letici,passthief,67mustan,ds7zamnw,morri,w8woord,cheops,pinarell,sonofsam,av473dv,sf161pn,5c92v5h6,purple13,tango123,plant1,1baby,xufrgemw,fitta,1rangers,spawns,kenned,taratata,19944991,11111118,coronas,4ebouux8,roadrash,corvette1,dfyjdf846,marley12,qwaszxerdfcv,68stang,67stang,racin,ellehcim,sofiko,nicetry,seabass1,jazzman1,zaqwsx1,laz2937,uuuuuuu1,vlad123,rafale,j1234567,223366,nnnnnn1,226622,junkfood,asilas,cer980,daddymac,persepho,neelam,00700,shithappens,255555,qwertyy,xbox36,19755791,qweasd1,bearcub,jerryb,a1b1c1,polkaudio,basketball1,456rty,1loveyou,marcus2,mama1961,palace1,transcend,shuriken,sudhakar,teenlove,anabelle,matrix99,pogoda,notme,bartend,jordana,nihaoma,ataris,littlegi,ferraris,redarmy,giallo,fastdraw,accountbloc,peludo,pornostar,pinoyako,cindee,glassjaw,dameon,johnnyd,finnland,saudade,losbravo,slonko,toplay,smalltit,nicksfun,stockhol,penpal,caraj,divedeep,cannibus,poppydog,pass88,viktory,walhalla,arisia,lucozade,goldenbo,tigers11,caball,ownage123,tonna,handy1,johny,capital5,faith2,stillher,brandan,pooky1,antananarivu,hotdick,1justin,lacrimos,goathead,bobrik,cgtwbfkbcn,maywood,kamilek,gbplf123,gulnar,beanhead,vfvjyn,shash,viper69,ttttttt1,hondacr,kanako,muffer,dukies,justin123,agapov58,mushka,bad11bad,muleman,jojo123,andreika,makeit,vanill,boomers,bigals,merlin11,quacker,aurelien,spartak1922,ligeti,diana2,lawnmowe,fortune1,awesom,rockyy,anna1994,oinker,love88,eastbay,ab55484,poker0,ozzy666,papasmurf,antihero,photogra,ktm250,painkill,jegr2d2,p3orion,canman,dextur,qwest123,samboy,yomismo,sierra01,herber,vfrcbvvfrcbv,gloria1,llama1,pie123,bobbyjoe,buzzkill,skidrow,grabber,phili,javier1,9379992q,geroin,oleg1994,sovereig,rollover,zaq12qaz,battery1,killer13,alina123,groucho1,mario12,peter22,butterbean,elise1,lucycat,neo123,ferdi,golfer01,randie,gfhfyjbr,ventura1,chelsea3,pinoy,mtgox,yrrim7,shoeman,mirko,ffggyyo,65mustan,ufdibyjd,john55,suckfuck,greatgoo,fvfnjhb,mmmnnn,love20,1bullshi,sucesso,easy1234,robin123,rockets1,diamondb,wolfee,nothing0,joker777,glasnost,richar1,guille,sayan,koresh,goshawk,alexx,batman21,a123456b,hball,243122,rockandr,coolfool,isaia,mary1,yjdbrjdf,lolopc,cleocat,cimbo,lovehina,8vfhnf,passking,bonapart,diamond2,bigboys,kreator,ctvtyjdf,sassy123,shellac,table54781,nedkelly,philbert,sux2bu,nomis,sparky99,python1,littlebear,numpty,silmaril,sweeet,jamesw,cbufhtnf,peggysue,wodahs,luvsex,wizardry,venom123,love4you,bama1,samat,reviewpass,ned467,cjkjdtq,mamula,gijoe,amersham,devochka,redhill,gisel,preggo,polock,cando,rewster,greenlantern,panasonik,dave1234,mikeee,1carlos,miledi,darkness1,p0o9i8u7y6,kathryn1,happyguy,dcp500,assmaster,sambuka,sailormo,antonio3,logans,18254288,nokiax2,qwertzuiop,zavilov,totti,xenon1,edward11,targa1,something1,tony_t,q1w2e3r4t5y6u7i8o9p0,02551670,vladimir1,monkeybutt,greenda,neel21,craiger,saveliy,dei008,honda450,fylhtq95,spike2,fjnq8915,passwordstandard,vova12345,talonesi,richi,gigemags,pierre1,westin,trevoga,dorothee,bastogne,25563o,brandon3,truegrit,krimml,iamgreat,servis,a112233,paulinka,azimuth,corperfmonsy,358hkyp,homerun1,dogbert1,eatmyass,cottage1,savina,baseball7,bigtex,gimmesum,asdcxz,lennon1,a159357,1bastard,413276191q,pngfilt,pchealth,netsnip,bodiroga,1matt,webtvs,ravers,adapters,siddis,mashamasha,coffee2,myhoney,anna1982,marcia1,fairchil,maniek,iloveluc,batmonh,wildon,bowie1,netnwlnk,fancy1,tom204,olga1976,vfif123,queens1,ajax01,lovess,mockba,icam4usb,triada,odinthor,rstlne,exciter,sundog,anchorat,girls69,nfnmzyrf,soloma,gti16v,shadowman,ottom,rataros,tonchin,vishal,chicken0,pornlo,christiaan,volante,likesit,mariupol,runfast,gbpltw123,missys,villevalo,kbpjxrf,ghibli,calla,cessna172,kinglear,dell11,swift1,walera,1cricket,pussy5,turbo911,tucke,maprchem56458,rosehill,thekiwi1,ygfxbkgt,mandarinka,98xa29,magnit,cjfrf,paswoord,grandam1,shenmue,leedsuni,hatrick,zagadka,angeldog,michaell,dance123,koichi,bballs,29palms,xanth,228822,ppppppp1,1kkkkk,1lllll,mynewbots,spurss,madmax1,224455,city1,mmmmmmm1,nnnnnnn1,biedronka,thebeatles,elessar,f14tomcat,jordan18,bobo123,ayi000,tedbear,86chevyx,user123,bobolink,maktub,elmer1,flyfishi,franco1,gandalf0,traxdata,david21,enlighte,dmitrij,beckys,1giants,flippe,12345678w,jossie,rugbyman,snowcat,rapeme,peanut11,gemeni,udders,techn9ne,armani1,chappie,war123,vakantie,maddawg,sewanee,jake5253,tautt1,anthony5,letterma,jimbo2,kmdtyjr,hextall,jessica6,amiga500,hotcunt,phoenix9,veronda,saqartvelo,scubas,sixer3,williamj,nightfal,shihan,melnikova,kosssss,handily,killer77,jhrl0821,march17,rushman,6gcf636i,metoyou,irina123,mine11,primus1,formatters,matthew5,infotech,gangster1,jordan45,moose69,kompas,motoxxx,greatwhi,cobra12,kirpich,weezer1,hello23,montse,tracy123,connecte,cjymrf,hemingwa,azreal,gundam00,mobila,boxman,slayers1,ravshan,june26,fktrcfylhjd,bermuda1,tylerd,maersk,qazwsx11,eybdthcbntn,ash123,camelo,kat123,backd00r,cheyenne1,1king,jerkin,tnt123,trabant,warhammer40k,rambos,punto,home77,pedrito,1frank,brille,guitarman,george13,rakas,tgbxtcrbq,flute1,bananas1,lovezp1314,thespot,postie,buster69,sexytime,twistys,zacharia,sportage,toccata,denver7,terry123,bogdanova,devil69,higgins1,whatluck,pele10,kkk666,jeffery1,1qayxsw2,riptide1,chevy11,munchy,lazer1,hooker1,ghfgjh,vergesse,playgrou,4077mash,gusev,humpin,oneputt,hydepark,monster9,tiger8,tangsoo,guy123,hesoyam1,uhtqneyu,thanku,lomond,ortezza,kronik,geetha,rabbit66,killas,qazxswe,alabaste,1234567890qwerty,capone1,andrea12,geral,beatbox,slutfuck,booyaka,jasmine7,ostsee,maestro1,beatme,tracey1,buster123,donaldduck,ironfish,happy6,konnichi,gintonic,momoney1,dugan1,today2,enkidu,destiny2,trim7gun,katuha,fractals,morganstanley,polkadot,gotime,prince11,204060,fifa2010,bobbyt,seemee,amanda10,airbrush,bigtitty,heidie,layla1,cotton1,5speed,fyfnjkmtdyf,flynavy,joxury8f,meeko,akuma,dudley1,flyboy1,moondog1,trotters,mariami,signin,chinna,legs11,pussy4,1s1h1e1f1,felici,optimus1,iluvu,marlins1,gavaec,balance1,glock40,london01,kokot,southwes,comfort1,sammy11,rockbottom,brianc,litebeer,homero,chopsuey,greenlan,charit,freecell,hampster,smalldog,viper12,blofeld,1234567890987654321,realsex,romann,cartman2,cjdthitycndj,nelly1,bmw528,zwezda,masterba,jeep99,turtl,america2,sunburst,sanyco,auntjudy,125wm,blue10,qwsazx,cartma,toby12,robbob,red222,ilovecock,losfix16,1explore,helge,vaz2114,whynotme,baba123,mugen,1qazwsxedc,albertjr,0101198,sextime,supras,nicolas2,wantsex,pussy6,checkm8,winam,24gordon,misterme,curlew,gbljhfcs,medtech,franzi,butthea,voivod,blackhat,egoiste,pjkeirf,maddog69,pakalolo,hockey4,igor1234,rouges,snowhite,homefree,sexfreak,acer12,dsmith,blessyou,199410,vfrcbvjd,falco02,belinda1,yaglasph,april21,groundho,jasmin1,nevergiveup,elvir,gborv526,c00kie,emma01,awesome2,larina,mike12345,maximu,anupam,bltynbabrfwbz,tanushka,sukkel,raptor22,josh12,schalke04,cosmodog,fuckyou8,busybee,198800,bijoux,frame1,blackmor,giveit,issmall,bear13,123-123,bladez,littlegirl,ultra123,fletch1,flashnet,loploprock,rkelly,12step,lukas1,littlewhore,cuntfinger,stinkyfinger,laurenc,198020,n7td4bjl,jackie69,camel123,ben1234,1gateway,adelheid,fatmike,thuglove,zzaaqq,chivas1,4815162342q,mamadou,nadano,james22,benwin,andrea99,rjirf,michou,abkbgg,d50gnn,aaazzz,a123654,blankman,booboo11,medicus,bigbone,197200,justine1,bendix,morphius,njhvjp,44mag,zsecyus56,goodbye1,nokiadermo,a333444,waratsea,4rzp8ab7,fevral,brillian,kirbys,minim,erathia,grazia,zxcvb1234,dukey,snaggle,poppi,hymen,1video,dune2000,jpthjdf,cvbn123,zcxfcnkbdfz,astonv,ginnie,316271,engine3,pr1ncess,64chevy,glass1,laotzu,hollyy,comicbooks,assasins,nuaddn9561,scottsda,hfcnfvfy,accobra,7777777z,werty123,metalhead,romanson,redsand,365214,shalo,arsenii,1989cc,sissi,duramax,382563,petera,414243,mamapap,jollymon,field1,fatgirl,janets,trompete,matchbox20,rambo2,nepenthe,441232,qwertyuiop10,bozo123,phezc419hv,romantika,lifestyl,pengui,decembre,demon6,panther6,444888,scanman,ghjcnjabkz,pachanga,buzzword,indianer,spiderman3,tony12,startre,frog1,fyutk,483422,tupacshakur,albert12,1drummer,bmw328i,green17,aerdna,invisibl,summer13,calimer,mustaine,lgnu9d,morefun,hesoyam123,escort1,scrapland,stargat,barabbas,dead13,545645,mexicali,sierr,gfhfpbn,gonchar,moonstafa,searock,counte,foster1,jayhawk1,floren,maremma,nastya2010,softball1,adaptec,halloo,barrabas,zxcasd123,hunny,mariana1,kafedra,freedom0,green420,vlad1234,method7,665566,tooting,hallo12,davinchi,conducto,medias,666444,invernes,madhatter,456asd,12345678i,687887,le33px,spring00,help123,bellybut,billy5,vitalik1,river123,gorila,bendis,power666,747200,footslav,acehigh,qazxswedc123,q1a1z1,richard9,peterburg,tabletop,gavrilov,123qwe1,kolosov,fredrau,run4fun,789056,jkbvgbflf,chitra,87654321q,steve22,wideopen,access88,surfe,tdfyutkbjy,impossib,kevin69,880888,cantina,887766,wxcvb,dontforg,qwer1209,asslicke,mamma123,indig,arkasha,scrapp,morelia,vehxbr,jones2,scratch1,cody11,cassie12,gerbera,dontgotm,underhil,maks2010,hollywood1,hanibal,elena2010,jason11,1010321,stewar,elaman,fireplug,goodby,sacrific,babyphat,bobcat12,bruce123,1233215,tony45,tiburo,love15,bmw750,wallstreet,2h0t4me,1346795,lamerz,munkee,134679q,granvill,1512198,armastus,aiden1,pipeutvj,g1234567,angeleyes,usmc1,102030q,putangina,brandnew,shadowfax,eagles12,1falcon,brianw,lokomoti,2022958,scooper,pegas,jabroni1,2121212,buffal,siffredi,wewiz,twotone,rosebudd,nightwis,carpet1,mickey2,2525252,sleddog,red333,jamesm,2797349,jeff12,onizuka,felixxxx,rf6666,fine1,ohlala,forplay,chicago5,muncho,scooby11,ptichka,johnnn,19851985p,dogphil3650,totenkopf,monitor2,macross7,3816778,dudder,semaj1,bounder,racerx1,5556633,7085506,ofclr278,brody1,7506751,nantucke,hedj2n4q,drew1,aessedai,trekbike,pussykat,samatron,imani,9124852,wiley1,dukenukem,iampurehaha2,9556035,obvious1,mccool24,apache64,kravchenko,justforf,basura,jamese,s0ccer,safado,darksta,surfer69,damian1,gjpbnbd,gunny1,wolley,sananton,zxcvbn123456,odt4p6sv8,sergei1,modem1,mansikka,zzzz1,rifraf,dima777,mary69,looking4,donttell,red100,ninjutsu,uaeuaeman,bigbri,brasco,queenas8151,demetri,angel007,bubbl,kolort,conny,antonia1,avtoritet,kaka22,kailayu,sassy2,wrongway,chevy3,1nascar,patriots1,chrisrey,mike99,sexy22,chkdsk,sd3utre7,padawan,a6pihd,doming,mesohorny,tamada,donatello,emma22,eather,susan69,pinky123,stud69,fatbitch,pilsbury,thc420,lovepuss,1creativ,golf1234,hurryup,1honda,huskerdu,marino1,gowron,girl1,fucktoy,gtnhjpfdjlcr,dkjfghdk,pinkfl,loreli,7777777s,donkeykong,rockytop,staples1,sone4ka,xxxjay,flywheel,toppdogg,bigbubba,aaa123456,2letmein,shavkat,paule,dlanor,adamas,0147852,aassaa,dixon1,bmw328,mother12,ilikepussy,holly2,tsmith,excaliber,fhutynbyf,nicole3,tulipan,emanue,flyvholm,currahee,godsgift,antonioj,torito,dinky1,sanna,yfcnzvjz,june14,anime123,123321456654,hanswurst,bandman,hello101,xxxyyy,chevy69,technica,tagada,arnol,v00d00,lilone,filles,drumandbass,dinamit,a1234a,eatmeat,elway07,inout,james6,dawid1,thewolf,diapason,yodaddy,qscwdv,fuckit1,liljoe,sloeber,simbacat,sascha1,qwe1234,1badger,prisca,angel17,gravedig,jakeyboy,longboard,truskawka,golfer11,pyramid7,highspee,pistola,theriver,hammer69,1packers,dannyd,alfonse,qwertgfdsa,11119999,basket1,ghjtrn,saralee,12inches,paolo1,zse4xdr5,taproot,sophieh6,grizzlie,hockey69,danang,biggums,hotbitch,5alive,beloved1,bluewave,dimon95,koketka,multiscan,littleb,leghorn,poker2,delite,skyfir,bigjake,persona1,amberdog,hannah12,derren,ziffle,1sarah,1assword,sparky01,seymur,tomtom1,123321qw,goskins,soccer19,luvbekki,bumhole,2balls,1muffin,borodin,monkey9,yfeiybrb,1alex,betmen,freder,nigger123,azizbek,gjkzrjdf,lilmike,1bigdadd,1rock,taganrog,snappy1,andrey1,kolonka,bunyan,gomango,vivia,clarkkent,satur,gaudeamus,mantaray,1month,whitehea,fargus,andrew99,ray123,redhawks,liza2009,qw12345,den12345,vfhnsyjdf,147258369a,mazepa,newyorke,1arsenal,hondas2000,demona,fordgt,steve12,birthday2,12457896,dickster,edcwsxqaz,sahalin,pantyman,skinny1,hubertus,cumshot1,chiro,kappaman,mark3434,canada12,lichking,bonkers1,ivan1985,sybase,valmet,doors1,deedlit,kyjelly,bdfysx,ford11,throatfuck,backwood,fylhsq,lalit,boss429,kotova,bricky,steveh,joshua19,kissa,imladris,star1234,lubimka,partyman,crazyd,tobias1,ilike69,imhome,whome,fourstar,scanner1,ujhjl312,anatoli,85bears,jimbo69,5678ytr,potapova,nokia7070,sunday1,kalleank,1996gta,refinnej,july1,molodec,nothanks,enigm,12play,sugardog,nhfkbdfkb,larousse,cannon1,144444,qazxcdew,stimorol,jhereg,spawn7,143000,fearme,hambur,merlin21,dobie,is3yeusc,partner1,dekal,varsha,478jfszk,flavi,hippo1,9hmlpyjd,july21,7imjfstw,lexxus,truelov,nokia5200,carlos6,anais,mudbone,anahit,taylorc,tashas,larkspur,animal2000,nibiru,jan123,miyvarxar,deflep,dolore,communit,ifoptfcor,laura2,anadrol,mamaliga,mitzi1,blue92,april15,matveev,kajlas,wowlook1,1flowers,shadow14,alucard1,1golf,bantha,scotlan,singapur,mark13,manchester1,telus01,superdav,jackoff1,madnes,bullnuts,world123,clitty,palmer1,david10,spider10,sargsyan,rattlers,david4,windows2,sony12,visigoth,qqqaaa,penfloor,cabledog,camilla1,natasha123,eagleman,softcore,bobrov,dietmar,divad,sss123,d1234567,tlbyjhju,1q1q1q1,paraiso,dav123,lfiekmrf,drachen,lzhan16889,tplate,gfghbrf,casio1,123boots1,123test,sys64738,heavymetal,andiamo,meduza,soarer,coco12,negrita,amigas,heavymet,bespin,1asdfghj,wharfrat,wetsex,tight1,janus1,sword123,ladeda,dragon98,austin2,atep1,jungle1,12345abcd,lexus300,pheonix1,alex1974,123qw123,137955,bigtim,shadow88,igor1994,goodjob,arzen,champ123,121ebay,changeme1,brooksie,frogman1,buldozer,morrowin,achim,trish1,lasse,festiva,bubbaman,scottb,kramit,august22,tyson123,passsword,oompah,al123456,fucking1,green45,noodle1,looking1,ashlynn,al1716,stang50,coco11,greese,bob111,brennan1,jasonj,1cherry,1q2345,1xxxxxxx,fifa2011,brondby,zachar1,satyam,easy1,magic7,1rainbow,cheezit,1eeeeeee,ashley123,assass1,amanda123,jerbear,1bbbbbb,azerty12,15975391,654321z,twinturb,onlyone1,denis1988,6846kg3r,jumbos,pennydog,dandelion,haileris,epervier,snoopy69,afrodite,oldpussy,green55,poopypan,verymuch,katyusha,recon7,mine69,tangos,contro,blowme2,jade1,skydive1,fiveiron,dimo4ka,bokser,stargirl,fordfocus,tigers2,platina,baseball11,raque,pimper,jawbreak,buster88,walter34,chucko,penchair,horizon1,thecure1,scc1975,adrianna1,kareta,duke12,krille,dumbfuck,cunt1,aldebaran,laverda,harumi,knopfler,pongo1,pfhbyf,dogman1,rossigno,1hardon,scarlets,nuggets1,ibelieve,akinfeev,xfhkbr,athene,falcon69,happie,billly,nitsua,fiocco,qwerty09,gizmo2,slava2,125690,doggy123,craigs,vader123,silkeborg,124365,peterm,123978,krakatoa,123699,123592,kgvebmqy,pensacol,d1d2d3,snowstor,goldenboy,gfg65h7,ev700,church1,orange11,g0dz1ll4,chester3,acheron,cynthi,hotshot1,jesuschris,motdepass,zymurgy,one2one,fietsbel,harryp,wisper,pookster,nn527hp,dolla,milkmaid,rustyboy,terrell1,epsilon1,lillian1,dale3,crhbgrf,maxsim,selecta,mamada,fatman1,ufkjxrf,shinchan,fuckuall,women1,000008,bossss,greta1,rbhjxrf,mamasboy,purple69,felicidade,sexy21,cathay,hunglow,splatt,kahless,shopping1,1gandalf,themis,delta7,moon69,blue24,parliame,mamma1,miyuki,2500hd,jackmeof,razer,rocker1,juvis123,noremac,boing747,9z5ve9rrcz,icewater,titania,alley1,moparman,christo1,oliver2,vinicius,tigerfan,chevyy,joshua99,doda99,matrixx,ekbnrf,jackfrost,viper01,kasia,cnfhsq,triton1,ssbt8ae2,rugby8,ramman,1lucky,barabash,ghtlfntkm,junaid,apeshit,enfant,kenpo1,shit12,007000,marge1,shadow10,qwerty789,richard8,vbitkm,lostboys,jesus4me,richard4,hifive,kolawole,damilola,prisma,paranoya,prince2,lisaann,happyness,cardss,methodma,supercop,a8kd47v5,gamgee,polly123,irene1,number8,hoyasaxa,1digital,matthew0,dclxvi,lisica,roy123,2468013579,sparda,queball,vaffanculo,pass1wor,repmvbx,999666333,freedom8,botanik,777555333,marcos1,lubimaya,flash2,einstei,08080,123456789j,159951159,159357123,carrot1,alina1995,sanjos,dilara,mustang67,wisteria,jhnjgtl12,98766789,darksun,arxangel,87062134,creativ1,malyshka,fuckthemall,barsic,rocksta,2big4u,5nizza,genesis2,romance1,ofcourse,1horse,latenite,cubana,sactown,789456123a,milliona,61808861,57699434,imperia,bubba11,yellow3,change12,55495746,flappy,jimbo123,19372846,19380018,cutlass1,craig123,klepto,beagle1,solus,51502112,pasha1,19822891,46466452,19855891,petshop,nikolaevna,119966,nokia6131,evenpar,hoosier1,contrasena,jawa350,gonzo123,mouse2,115511,eetfuk,gfhfvgfvgfv,1crystal,sofaking,coyote1,kwiatuszek,fhrflbq,valeria1,anthro,0123654789,alltheway,zoltar,maasikas,wildchil,fredonia,earlgrey,gtnhjczy,matrix123,solid1,slavko,12monkeys,fjdksl,inter1,nokia6500,59382113kevinp,spuddy,cachero,coorslit,password!,kiba1z,karizma,vova1994,chicony,english1,bondra12,1rocket,hunden,jimbob1,zpflhjn1,th0mas,deuce22,meatwad,fatfree,congas,sambora,cooper2,janne,clancy1,stonie,busta,kamaz,speedy2,jasmine3,fahayek,arsenal0,beerss,trixie1,boobs69,luansantana,toadman,control2,ewing33,maxcat,mama1964,diamond4,tabaco,joshua0,piper2,music101,guybrush,reynald,pincher,katiebug,starrs,pimphard,frontosa,alex97,cootie,clockwor,belluno,skyeseth,booty69,chaparra,boochie,green4,bobcat1,havok,saraann,pipeman,aekdb,jumpshot,wintermu,chaika,1chester,rjnjatq,emokid,reset1,regal1,j0shua,134679a,asmodey,sarahh,zapidoo,ciccione,sosexy,beckham23,hornets1,alex1971,delerium,manageme,connor11,1rabbit,sane4ek,caseyboy,cbljhjdf,redsox20,tttttt99,haustool,ander,pantera6,passwd1,journey1,9988776655,blue135,writerspace,xiaoyua123,justice2,niagra,cassis,scorpius,bpgjldsgjldthnf,gamemaster,bloody1,retrac,stabbin,toybox,fight1,ytpyf.,glasha,va2001,taylor11,shameles,ladylove,10078,karmann,rodeos,eintritt,lanesra,tobasco,jnrhjqcz,navyman,pablit,leshka,jessica3,123vika,alena1,platinu,ilford,storm7,undernet,sasha777,1legend,anna2002,kanmax1994,porkpie,thunder0,gundog,pallina,easypass,duck1,supermom,roach1,twincam,14028,tiziano,qwerty32,123654789a,evropa,shampoo1,yfxfkmybr,cubby1,tsunami1,fktrcttdf,yasacrac,17098,happyhap,bullrun,rodder,oaktown,holde,isbest,taylor9,reeper,hammer11,julias,rolltide1,compaq123,fourx4,subzero1,hockey9,7mary3,busines,ybrbnjcbr,wagoneer,danniash,portishead,digitex,alex1981,david11,infidel,1snoopy,free30,jaden,tonto1,redcar27,footie,moskwa,thomas21,hammer12,burzum,cosmo123,50000,burltree,54343,54354,vwpassat,jack5225,cougars1,burlpony,blackhorse,alegna,petert,katemoss,ram123,nels0n,ferrina,angel77,cstock,1christi,dave55,abc123a,alex1975,av626ss,flipoff,folgore,max1998,science1,si711ne,yams7,wifey1,sveiks,cabin1,volodia,ox3ford,cartagen,platini,picture1,sparkle1,tiedomi,service321,wooody,christi1,gnasher,brunob,hammie,iraffert,bot2010,dtcyeirf,1234567890p,cooper11,alcoholi,savchenko,adam01,chelsea5,niewiem,icebear,lllooottt,ilovedick,sweetpus,money8,cookie13,rfnthbyf1988,booboo2,angus123,blockbus,david9,chica1,nazaret,samsung9,smile4u,daystar,skinnass,john10,thegirl,sexybeas,wasdwasd1,sigge1,1qa2ws3ed4rf5tg,czarny,ripley1,chris5,ashley19,anitha,pokerman,prevert,trfnthby,tony69,georgia2,stoppedb,qwertyuiop12345,miniclip,franky1,durdom,cabbages,1234567890o,delta5,liudmila,nhfycajhvths,court1,josiew,abcd1,doghead,diman,masiania,songline,boogle,triston,deepika,sexy4me,grapple,spacebal,ebonee,winter0,smokewee,nargiza,dragonla,sassys,andy2000,menards,yoshio,massive1,suckmy1k,passat99,sexybo,nastya1996,isdead,stratcat,hokuto,infix,pidoras,daffyduck,cumhard,baldeagl,kerberos,yardman,shibainu,guitare,cqub6553,tommyy,bk.irf,bigfoo,hecto,july27,james4,biggus,esbjerg,isgod,1irish,phenmarr,jamaic,roma1990,diamond0,yjdbrjd,girls4me,tampa1,kabuto,vaduz,hanse,spieng,dianochka,csm101,lorna1,ogoshi,plhy6hql,2wsx4rfv,cameron0,adebayo,oleg1996,sharipov,bouboule,hollister1,frogss,yeababy,kablam,adelante,memem,howies,thering,cecilia1,onetwo12,ojp123456,jordan9,msorcloledbr,neveraga,evh5150,redwin,1august,canno,1mercede,moody1,mudbug,chessmas,tiikeri,stickdaddy77,alex15,kvartira,7654321a,lollol123,qwaszxedc,algore,solana,vfhbyfvfhbyf,blue72,misha1111,smoke20,junior13,mogli,threee,shannon2,fuckmylife,kevinh,saransk,karenw,isolde,sekirarr,orion123,thomas0,debra1,laketaho,alondra,curiva,jazz1234,1tigers,jambos,lickme2,suomi,gandalf7,028526,zygote,brett123,br1ttany,supafly,159000,kingrat,luton1,cool-ca,bocman,thomasd,skiller,katter,mama777,chanc,tomass,1rachel,oldno7,rfpfyjdf,bigkev,yelrah,primas,osito,kipper1,msvcr71,bigboy11,thesun,noskcaj,chicc,sonja1,lozinka,mobile1,1vader,ummagumma,waves1,punter12,tubgtn,server1,irina1991,magic69,dak001,pandemonium,dead1,berlingo,cherrypi,1montana,lohotron,chicklet,asdfgh123456,stepside,ikmvw103,icebaby,trillium,1sucks,ukrnet,glock9,ab12345,thepower,robert8,thugstools,hockey13,buffon,livefree,sexpics,dessar,ja0000,rosenrot,james10,1fish,svoloch,mykitty,muffin11,evbukb,shwing,artem1992,andrey1992,sheldon1,passpage,nikita99,fubar123,vannasx,eight888,marial,max2010,express2,violentj,2ykn5ccf,spartan11,brenda69,jackiech,abagail,robin2,grass1,andy76,bell1,taison,superme,vika1995,xtr451,fred20,89032073168,denis1984,2000jeep,weetabix,199020,daxter,tevion,panther8,h9iymxmc,bigrig,kalambur,tsalagi,12213443,racecar02,jeffrey4,nataxa,bigsam,purgator,acuracl,troutbum,potsmoke,jimmyz,manutd1,nytimes,pureevil,bearss,cool22,dragonage,nodnarb,dbrbyu,4seasons,freude,elric1,werule,hockey14,12758698,corkie,yeahright,blademan,tafkap,clave,liziko,hofner,jeffhardy,nurich,runne,stanisla,lucy1,monk3y,forzaroma,eric99,bonaire,blackwoo,fengshui,1qaz0okm,newmoney,pimpin69,07078,anonymer,laptop1,cherry12,ace111,salsa1,wilbur1,doom12,diablo23,jgtxzbhr,under1,honda01,breadfan,megan2,juancarlos,stratus1,ackbar,love5683,happytim,lambert1,cbljhtyrj,komarov,spam69,nfhtkrf,brownn,sarmat,ifiksr,spike69,hoangen,angelz,economia,tanzen,avogadro,1vampire,spanners,mazdarx,queequeg,oriana,hershil,sulaco,joseph11,8seconds,aquariu,cumberla,heather9,anthony8,burton12,crystal0,maria3,qazwsxc,snow123,notgood,198520,raindog,heehaw,consulta,dasein,miller01,cthulhu1,dukenuke,iubire,baytown,hatebree,198505,sistem,lena12,welcome01,maraca,middleto,sindhu,mitsou,phoenix5,vovan,donaldo,dylandog,domovoy,lauren12,byrjuybnj,123llll,stillers,sanchin,tulpan,smallvill,1mmmmm,patti1,folgers,mike31,colts18,123456rrr,njkmrjz,phoenix0,biene,ironcity,kasperok,password22,fitnes,matthew6,spotligh,bujhm123,tommycat,hazel5,guitar11,145678,vfcmrf,compass1,willee,1barney,jack2000,littleminge,shemp,derrek,xxx12345,littlefuck,spuds1,karolinka,camneely,qwertyu123,142500,brandon00,munson15,falcon3,passssap,z3cn2erv,goahead,baggio10,141592,denali1,37kazoo,copernic,123456789asd,orange88,bravada,rush211,197700,pablo123,uptheass,samsam1,demoman,mattylad10,heydude,mister2,werken,13467985,marantz,a22222,f1f2f3f4,fm12mn12,gerasimova,burrito1,sony1,glenny,baldeagle,rmfidd,fenomen,verbati,forgetme,5element,wer138,chanel1,ooicu812,10293847qp,minicooper,chispa,myturn,deisel,vthrehbq,boredboi4u,filatova,anabe,poiuyt1,barmalei,yyyy1,fourkids,naumenko,bangbros,pornclub,okaykk,euclid90,warrior3,kornet,palevo,patatina,gocart,antanta,jed1054,clock1,111111w,dewars,mankind1,peugeot406,liten,tahira,howlin,naumov,rmracing,corone,cunthole,passit,rock69,jaguarxj,bumsen,197101,sweet2,197010,whitecat,sawadee,money100,yfhrjnbrb,andyboy,9085603566,trace1,fagget,robot1,angel20,6yhn7ujm,specialinsta,kareena,newblood,chingada,boobies2,bugger1,squad51,133andre,call06,ashes1,ilovelucy,success2,kotton,cavalla,philou,deebee,theband,nine09,artefact,196100,kkkkkkk1,nikolay9,onelov,basia,emilyann,sadman,fkrjujkbr,teamomuch,david777,padrino,money21,firdaus,orion3,chevy01,albatro,erdfcv,2legit,sarah7,torock,kevinn,holio,soloy,enron714,starfleet,qwer11,neverman,doctorwh,lucy11,dino12,trinity7,seatleon,o123456,pimpman,1asdfgh,snakebit,chancho,prorok,bleacher,ramire,darkseed,warhorse,michael123,1spanky,1hotdog,34erdfcv,n0th1ng,dimanche,repmvbyf,michaeljackson,login1,icequeen,toshiro,sperme,racer2,veget,birthday26,daniel9,lbvekmrf,charlus,bryan123,wspanic,schreibe,1andonly,dgoins,kewell,apollo12,egypt1,fernie,tiger21,aa123456789,blowj,spandau,bisquit,12345678d,deadmau5,fredie,311420,happyface,samant,gruppa,filmstar,andrew17,bakesale,sexy01,justlook,cbarkley,paul11,bloodred,rideme,birdbath,nfkbcvfy,jaxson,sirius1,kristof,virgos,nimrod1,hardc0re,killerbee,1abcdef,pitcher1,justonce,vlada,dakota99,vespucci,wpass,outside1,puertori,rfvbkf,teamlosi,vgfun2,porol777,empire11,20091989q,jasong,webuivalidat,escrima,lakers08,trigger2,addpass,342500,mongini,dfhtybr,horndogg,palermo1,136900,babyblu,alla98,dasha2010,jkelly,kernow,yfnecz,rockhopper,toeman,tlaloc,silver77,dave01,kevinr,1234567887654321,135642,me2you,8096468644q,remmus,spider7,jamesa,jilly,samba1,drongo,770129ji,supercat,juntas,tema1234,esthe,1234567892000,drew11,qazqaz123,beegees,blome,rattrace,howhigh,tallboy,rufus2,sunny2,sou812,miller12,indiana7,irnbru,patch123,letmeon,welcome5,nabisco,9hotpoin,hpvteb,lovinit,stormin,assmonke,trill,atlanti,money1234,cubsfan,mello1,stars2,ueptkm,agate,dannym88,lover123,wordz,worldnet,julemand,chaser1,s12345678,pissword,cinemax,woodchuc,point1,hotchkis,packers2,bananana,kalender,420666,penguin8,awo8rx3wa8t,hoppie,metlife,ilovemyfamily,weihnachtsbau,pudding1,luckystr,scully1,fatboy1,amizade,dedham,jahbless,blaat,surrende,****er,1panties,bigasses,ghjuhfvbcn,asshole123,dfktyrb,likeme,nickers,plastik,hektor,deeman,muchacha,cerebro,santana5,testdrive,dracula1,canalc,l1750sq,savannah1,murena,1inside,pokemon00,1iiiiiii,jordan20,sexual1,mailliw,calipso,014702580369,1zzzzzz,1jjjjjj,break1,15253545,yomama1,katinka,kevin11,1ffffff,martijn,sslazio,daniel5,porno2,nosmas,leolion,jscript,15975312,pundai,kelli1,kkkddd,obafgkm,marmaris,lilmama,london123,rfhfnt,elgordo,talk87,daniel7,thesims3,444111,bishkek,afrika2002,toby22,1speedy,daishi,2children,afroman,qqqqwwww,oldskool,hawai,v55555,syndicat,pukimak,fanatik,tiger5,parker01,bri5kev6,timexx,wartburg,love55,ecosse,yelena03,madinina,highway1,uhfdbwfgf,karuna,buhjvfybz,wallie,46and2,khalif,europ,qaz123wsx456,bobbybob,wolfone,falloutboy,manning18,scuba10,schnuff,ihateyou1,lindam,sara123,popcor,fallengun,divine1,montblanc,qwerty8,rooney10,roadrage,bertie1,latinus,lexusis,rhfvfnjhcr,opelgt,hitme,agatka,1yamaha,dmfxhkju,imaloser,michell1,sb211st,silver22,lockedup,andrew9,monica01,sassycat,dsobwick,tinroof,ctrhtnyj,bultaco,rhfcyjzhcr,aaaassss,14ss88,joanne1,momanddad,ahjkjdf,yelhsa,zipdrive,telescop,500600,1sexsex,facial1,motaro,511647,stoner1,temujin,elephant1,greatman,honey69,kociak,ukqmwhj6,altezza,cumquat,zippos,kontiki,123max,altec1,bibigon,tontos,qazsew,nopasaran,militar,supratt,oglala,kobayash,agathe,yawetag,dogs1,cfiekmrf,megan123,jamesdea,porosenok,tiger23,berger1,hello11,seemann,stunner1,walker2,imissu,jabari,minfd,lollol12,hjvfy,1-oct,stjohns,2278124q,123456789qwer,alex1983,glowworm,chicho,mallards,bluedevil,explorer1,543211,casita,1time,lachesis,alex1982,airborn1,dubesor,changa,lizzie1,captaink,socool,bidule,march23,1861brr,k.ljxrf,watchout,fotze,1brian,keksa2,aaaa1122,matrim,providian,privado,dreame,merry1,aregdone,davidt,nounour,twenty2,play2win,artcast2,zontik,552255,shit1,sluggy,552861,dr8350,brooze,alpha69,thunder6,kamelia2011,caleb123,mmxxmm,jamesh,lfybkjd,125267,125000,124536,bliss1,dddsss,indonesi,bob69,123888,tgkbxfgy,gerar,themack,hijodeputa,good4now,ddd123,clk430,kalash,tolkien1,132forever,blackb,whatis,s1s2s3s4,lolkin09,yamahar,48n25rcc,djtiesto,111222333444555,bigbull,blade55,coolbree,kelse,ichwill,yamaha12,sakic,bebeto,katoom,donke,sahar,wahine,645202,god666,berni,starwood,june15,sonoio,time123,llbean,deadsoul,lazarev,cdtnf,ksyusha,madarchod,technik,jamesy,4speed,tenorsax,legshow,yoshi1,chrisbl,44e3ebda,trafalga,heather7,serafima,favorite4,havefun1,wolve,55555r,james13,nosredna,bodean,jlettier,borracho,mickael,marinus,brutu,sweet666,kiborg,rollrock,jackson6,macross1,ousooner,9085084232,takeme,123qwaszx,firedept,vfrfhjd,jackfros,123456789000,briane,cookie11,baby22,bobby18,gromova,systemofadown,martin01,silver01,pimaou,darthmaul,hijinx,commo,chech,skyman,sunse,2vrd6,vladimirovna,uthvfybz,nicole01,kreker,bobo1,v123456789,erxtgb,meetoo,drakcap,vfvf12,misiek1,butane,network2,flyers99,riogrand,jennyk,e12345,spinne,avalon11,lovejone,studen,maint,porsche2,qwerty100,chamberl,bluedog1,sungam,just4u,andrew23,summer22,ludic,musiclover,aguil,beardog1,libertin,pippo1,joselit,patito,bigberth,digler,sydnee,jockstra,poopo,jas4an,nastya123,profil,fuesse,default1,titan2,mendoz,kpcofgs,anamika,brillo021,bomberman,guitar69,latching,69pussy,blues2,phelge,ninja123,m7n56xo,qwertasd,alex1976,cunningh,estrela,gladbach,marillion,mike2000,258046,bypop,muffinman,kd5396b,zeratul,djkxbwf,john77,sigma2,1linda,selur,reppep,quartz1,teen1,freeclus,spook1,kudos4ever,clitring,sexiness,blumpkin,macbook,tileman,centra,escaflowne,pentable,shant,grappa,zverev,1albert,lommerse,coffee11,777123,polkilo,muppet1,alex74,lkjhgfdsazx,olesica,april14,ba25547,souths,jasmi,arashi,smile2,2401pedro,mybabe,alex111,quintain,pimp1,tdeir8b2,makenna,122333444455555,%e2%82%ac,tootsie1,pass111,zaqxsw123,gkfdfybt,cnfnbcnbrf,usermane,iloveyou12,hard69,osasuna,firegod,arvind,babochka,kiss123,cookie123,julie123,kamakazi,dylan2,223355,tanguy,nbhtqa,tigger13,tubby1,makavel,asdflkj,sambo1,mononoke,mickeys,gayguy,win123,green33,wcrfxtvgbjy,bigsmall,1newlife,clove,babyfac,bigwaves,mama1970,shockwav,1friday,bassey,yarddog,codered1,victory7,bigrick,kracker,gulfstre,chris200,sunbanna,bertuzzi,begemotik,kuolema,pondus,destinee,123456789zz,abiodun,flopsy,amadeusptfcor,geronim,yggdrasi,contex,daniel6,suck1,adonis1,moorea,el345612,f22raptor,moviebuf,raunchy,6043dkf,zxcvbnm123456789,eric11,deadmoin,ratiug,nosliw,fannies,danno,888889,blank1,mikey2,gullit,thor99,mamiya,ollieb,thoth,dagger1,websolutionssu,bonker,prive,1346798520,03038,q1234q,mommy2,contax,zhipo,gwendoli,gothic1,1234562000,lovedick,gibso,digital2,space199,b26354,987654123,golive,serious1,pivkoo,better1,824358553,794613258,nata1980,logout,fishpond,buttss,squidly,good4me,redsox19,jhonny,zse45rdx,matrixxx,honey12,ramina,213546879,motzart,fall99,newspape,killit,gimpy,photowiz,olesja,thebus,marco123,147852963,bedbug,147369258,hellbound,gjgjxrf,123987456,lovehurt,five55,hammer01,1234554321a,alina2011,peppino,ang238,questor,112358132,alina1994,alina1998,money77,bobjones,aigerim,cressida,madalena,420smoke,tinchair,raven13,mooser,mauric,lovebu,adidas69,krypton1,1111112,loveline,divin,voshod,michaelm,cocotte,gbkbuhbv,76689295,kellyj,rhonda1,sweetu70,steamforums,geeque,nothere,124c41,quixotic,steam181,1169900,rfcgthcrbq,rfvbkm,sexstuff,1231230,djctvm,rockstar1,fulhamfc,bhecbr,rfntyf,quiksilv,56836803,jedimaster,pangit,gfhjkm777,tocool,1237654,stella12,55378008,19216811,potte,fender12,mortalkombat,ball1,nudegirl,palace22,rattrap,debeers,lickpussy,jimmy6,not4u2c,wert12,bigjuggs,sadomaso,1357924,312mas,laser123,arminia,branford,coastie,mrmojo,19801982,scott11,banaan123,ingres,300zxtt,hooters6,sweeties,19821983,19831985,19833891,sinnfein,welcome4,winner69,killerman,tachyon,tigre1,nymets1,kangol,martinet,sooty1,19921993,789qwe,harsingh,1597535,thecount,phantom3,36985214,lukas123,117711,pakistan1,madmax11,willow01,19932916,fucker12,flhrci,opelagila,theword,ashley24,tigger3,crazyj,rapide,deadfish,allana,31359092,sasha1993,sanders2,discman,zaq!2wsx,boilerma,mickey69,jamesg,babybo,jackson9,orion7,alina2010,indien,breeze1,atease,warspite,bazongaz,1celtic,asguard,mygal,fitzgera,1secret,duke33,cyklone,dipascuc,potapov,1escobar2,c0l0rad0,kki177hk,1little,macondo,victoriya,peter7,red666,winston6,kl?benhavn,muneca,jackme,jennan,happylife,am4h39d8nh,bodybuil,201980,dutchie,biggame,lapo4ka,rauchen,black10,flaquit,water12,31021364,command2,lainth88,mazdamx5,typhon,colin123,rcfhlfc,qwaszx11,g0away,ramir,diesirae,hacked1,cessna1,woodfish,enigma2,pqnr67w5,odgez8j3,grisou,hiheels,5gtgiaxm,2580258,ohotnik,transits,quackers,serjik,makenzie,mdmgatew,bryana,superman12,melly,lokit,thegod,slickone,fun4all,netpass,penhorse,1cooper,nsync,asdasd22,otherside,honeydog,herbie1,chiphi,proghouse,l0nd0n,shagg,select1,frost1996,casper123,countr,magichat,greatzyo,jyothi,3bears,thefly,nikkita,fgjcnjk,nitros,hornys,san123,lightspe,maslova,kimber1,newyork2,spammm,mikejone,pumpk1n,bruiser1,bacons,prelude9,boodie,dragon4,kenneth2,love98,power5,yodude,pumba,thinline,blue30,sexxybj,2dumb2live,matt21,forsale,1carolin,innova,ilikeporn,rbgtkjd,a1s2d3f,wu9942,ruffus,blackboo,qwerty999,draco1,marcelin,hideki,gendalf,trevon,saraha,cartmen,yjhbkmcr,time2go,fanclub,ladder1,chinni,6942987,united99,lindac,quadra,paolit,mainstre,beano002,lincoln7,bellend,anomie,8520456,bangalor,goodstuff,chernov,stepashka,gulla,mike007,frasse,harley03,omnislash,8538622,maryjan,sasha2011,gineok,8807031,hornier,gopinath,princesit,bdr529,godown,bosslady,hakaone,1qwe2,madman1,joshua11,lovegame,bayamon,jedi01,stupid12,sport123,aaa666,tony44,collect1,charliem,chimaira,cx18ka,trrim777,chuckd,thedream,redsox99,goodmorning,delta88,iloveyou11,newlife2,figvam,chicago3,jasonk,12qwer,9875321,lestat1,satcom,conditio,capri50,sayaka,9933162,trunks1,chinga,snooch,alexand1,findus,poekie,cfdbyf,kevind,mike1969,fire13,leftie,bigtuna,chinnu,silence1,celos1,blackdra,alex24,gfgfif,2boobs,happy8,enolagay,sataniv1993,turner1,dylans,peugeo,sasha1994,hoppel,conno,moonshot,santa234,meister1,008800,hanako,tree123,qweras,gfitymrf,reggie31,august29,supert,joshua10,akademia,gbljhfc,zorro123,nathalia,redsox12,hfpdjl,mishmash,nokiae51,nyyankees,tu190022,strongbo,none1,not4u2no,katie2,popart,harlequi,santan,michal1,1therock,screwu,csyekmrf,olemiss1,tyrese,hoople,sunshin1,cucina,starbase,topshelf,fostex,california1,castle1,symantec,pippolo,babare,turntabl,1angela,moo123,ipvteb,gogolf,alex88,cycle1,maxie1,phase2,selhurst,furnitur,samfox,fromvermine,shaq34,gators96,captain2,delonge,tomatoe,bisous,zxcvbnma,glacius,pineapple1,cannelle,ganibal,mko09ijn,paraklast1974,hobbes12,petty43,artema,junior8,mylover,1234567890d,fatal1ty,prostreet,peruan,10020,nadya,caution1,marocas,chanel5,summer08,metal123,111lox,scrapy,thatguy,eddie666,washingto,yannis,minnesota_hp,lucky4,playboy6,naumova,azzurro,patat,dale33,pa55wd,speedster,zemanova,saraht,newto,tony22,qscesz,arkady,1oliver,death6,vkfwx046,antiflag,stangs,jzf7qf2e,brianp,fozzy,cody123,startrek1,yoda123,murciela,trabajo,lvbnhbtdf,canario,fliper,adroit,henry5,goducks,papirus,alskdj,soccer6,88mike,gogetter,tanelorn,donking,marky1,leedsu,badmofo,al1916,wetdog,akmaral,pallet,april24,killer00,nesterova,rugby123,coffee12,browseui,ralliart,paigow,calgary1,armyman,vtldtltd,frodo2,frxtgb,iambigal,benno,jaytee,2hot4you,askar,bigtee,brentwoo,palladin,eddie2,al1916w,horosho,entrada,ilovetits,venture1,dragon19,jayde,chuvak,jamesl,fzr600,brandon8,vjqvbh,snowbal,snatch1,bg6njokf,pudder,karolin,candoo,pfuflrf,satchel1,manteca,khongbiet,critter1,partridg,skyclad,bigdon,ginger69,brave1,anthony4,spinnake,chinadol,passout,cochino,nipples1,15058,lopesk,sixflags,lloo999,parkhead,breakdance,cia123,fidodido,yuitre12,fooey,artem1995,gayathri,medin,nondriversig,l12345,bravo7,happy13,kazuya,camster,alex1998,luckyy,zipcode,dizzle,boating1,opusone,newpassw,movies23,kamikazi,zapato,bart316,cowboys0,corsair1,kingshit,hotdog12,rolyat,h200svrm,qwerty4,boofer,rhtyltkm,chris999,vaz21074,simferopol,pitboss,love3,britania,tanyshka,brause,123qwerty123,abeille,moscow1,ilkaev,manut,process1,inetcfg,dragon05,fortknox,castill,rynner,mrmike,koalas,jeebus,stockpor,longman,juanpabl,caiman,roleplay,jeremi,26058,prodojo,002200,magical1,black5,bvlgari,doogie1,cbhtqa,mahina,a1s2d3f4g5h6,jblpro,usmc01,bismilah,guitar01,april9,santana1,1234aa,monkey14,sorokin,evan1,doohan,animalsex,pfqxtyjr,dimitry,catchme,chello,silverch,glock45,dogleg,litespee,nirvana9,peyton18,alydar,warhamer,iluvme,sig229,minotavr,lobzik,jack23,bushwack,onlin,football123,joshua5,federov,winter2,bigmax,fufnfrhbcnb,hfpldfnhb,1dakota,f56307,chipmonk,4nick8,praline,vbhjh123,king11,22tango,gemini12,street1,77879,doodlebu,homyak,165432,chuluthu,trixi,karlito,salom,reisen,cdtnkzxjr,pookie11,tremendo,shazaam,welcome0,00000ty,peewee51,pizzle,gilead,bydand,sarvar,upskirt,legends1,freeway1,teenfuck,ranger9,darkfire,dfymrf,hunt0802,justme1,buffy1ma,1harry,671fsa75yt,burrfoot,budster,pa437tu,jimmyp,alina2006,malacon,charlize,elway1,free12,summer02,gadina,manara,gomer1,1cassie,sanja,kisulya,money3,pujols,ford50,midiland,turga,orange6,demetriu,freakboy,orosie1,radio123,open12,vfufpby,mustek,chris33,animes,meiling,nthtvjr,jasmine9,gfdkjd,oligarh,marimar,chicago9,.kzirf,bugssgub,samuraix,jackie01,pimpjuic,macdad,cagiva,vernost,willyboy,fynjyjdf,tabby1,privet123,torres9,retype,blueroom,raven11,q12we3,alex1989,bringiton,ridered,kareltje,ow8jtcs8t,ciccia,goniners,countryb,24688642,covingto,24861793,beyblade,vikin,badboyz,wlafiga,walstib,mirand,needajob,chloes,balaton,kbpfdtnf,freyja,bond9007,gabriel12,stormbri,hollage,love4eve,fenomeno,darknite,dragstar,kyle123,milfhunter,ma123123123,samia,ghislain,enrique1,ferien12,xjy6721,natalie2,reglisse,wilson2,wesker,rosebud7,amazon1,robertr,roykeane,xtcnth,mamatata,crazyc,mikie,savanah,blowjob69,jackie2,forty1,1coffee,fhbyjxrf,bubbah,goteam,hackedit,risky1,logoff,h397pnvr,buck13,robert23,bronc,st123st,godflesh,pornog,iamking,cisco69,septiembr,dale38,zhongguo,tibbar,panther9,buffa1,bigjohn1,mypuppy,vehvfycr,april16,shippo,fire1234,green15,q123123,gungadin,steveg,olivier1,chinaski,magnoli,faithy,storm12,toadfrog,paul99,78791,august20,automati,squirtle,cheezy,positano,burbon,nunya,llebpmac,kimmi,turtle2,alan123,prokuror,violin1,durex,pussygal,visionar,trick1,chicken6,29024,plowboy,rfybreks,imbue,sasha13,wagner1,vitalogy,cfymrf,thepro,26028,gorbunov,dvdcom,letmein5,duder,fastfun,pronin,libra1,conner1,harley20,stinker1,20068,20038,amitech,syoung,dugway,18068,welcome7,jimmypag,anastaci,kafka1,pfhfnecnhf,catsss,campus100,shamal,nacho1,fire12,vikings2,brasil1,rangerover,mohamma,peresvet,14058,cocomo,aliona,14038,qwaser,vikes,cbkmdf,skyblue1,ou81234,goodlove,dfkmltvfh,108888,roamer,pinky2,static1,zxcv4321,barmen,rock22,shelby2,morgans,1junior,pasword1,logjam,fifty5,nhfrnjhbcn,chaddy,philli,nemesis2,ingenier,djkrjd,ranger3,aikman8,knothead,daddy69,love007,vsythb,ford350,tiger00,renrut,owen11,energy12,march14,alena123,robert19,carisma,orange22,murphy11,podarok,prozak,kfgeirf,wolf13,lydia1,shazza,parasha,akimov,tobbie,pilote,heather4,baster,leones,gznfxjr,megama,987654321g,bullgod,boxster1,minkey,wombats,vergil,colegiata,lincol,smoothe,pride1,carwash1,latrell,bowling3,fylhtq123,pickwick,eider,bubblebox,bunnies1,loquit,slipper1,nutsac,purina,xtutdfhf,plokiju,1qazxs,uhjpysq,zxcvbasdfg,enjoy1,1pumpkin,phantom7,mama22,swordsma,wonderbr,dogdays,milker,u23456,silvan,dfkthbr,slagelse,yeahman,twothree,boston11,wolf100,dannyg,troll1,fynjy123,ghbcnfd,bftest,ballsdeep,bobbyorr,alphasig,cccdemo,fire123,norwest,claire2,august10,lth1108,problemas,sapito,alex06,1rusty,maccom,goirish1,ohyes,bxdumb,nabila,boobear1,rabbit69,princip,alexsander,travail,chantal1,dogggy,greenpea,diablo69,alex2009,bergen09,petticoa,classe,ceilidh,vlad2011,kamakiri,lucidity,qaz321,chileno,cexfhf,99ranger,mcitra,estoppel,volvos60,carter80,webpass,temp12,touareg,fcgbhby,bubba8,sunitha,200190ru,bitch2,shadow23,iluvit,nicole0,ruben1,nikki69,butttt,shocker1,souschef,lopotok01,kantot,corsano,cfnfyf,riverat,makalu,swapna,all4u9,cdtnkfy,ntktgepbr,ronaldo99,thomasj,bmw540i,chrisw,boomba,open321,z1x2c3v4b5n6m7,gaviota,iceman44,frosya,chris100,chris24,cosette,clearwat,micael,boogyman,pussy9,camus1,chumpy,heccrbq,konoplya,chester8,scooter5,ghjgfufylf,giotto,koolkat,zero000,bonita1,ckflrbq,j1964,mandog,18n28n24a,renob,head1,shergar,ringo123,tanita,sex4free,johnny12,halberd,reddevils,biolog,dillinge,fatb0y,c00per,hyperlit,wallace2,spears1,vitamine,buheirf,sloboda,alkash,mooman,marion1,arsenal7,sunder,nokia5610,edifier,pippone,fyfnjkmtdbx,fujimo,pepsi12,kulikova,bolat,duetto,daimon,maddog01,timoshka,ezmoney,desdemon,chesters,aiden,hugues,patrick5,aikman08,robert4,roenick,nyranger,writer1,36169544,foxmulder,118801,kutter,shashank,jamjar,118811,119955,aspirina,dinkus,1sailor,nalgene,19891959,snarf,allie1,cracky,resipsa,45678912,kemerovo,19841989,netware1,alhimik,19801984,nicole123,19761977,51501984,malaka1,montella,peachfuz,jethro1,cypress1,henkie,holdon,esmith,55443322,1friend,quique,bandicoot,statistika,great123,death13,ucht36,master4,67899876,bobsmith,nikko1,jr1234,hillary1,78978978,rsturbo,lzlzdfcz,bloodlust,shadow00,skagen,bambina,yummies,88887777,91328378,matthew4,itdoes,98256518,102938475,alina2002,123123789,fubared,dannys,123456321,nikifor,suck69,newmexico,scubaman,rhbcnb,fifnfy,puffdadd,159357852,dtheyxbr,theman22,212009164,prohor,shirle,nji90okm,newmedia,goose5,roma1995,letssee,iceman11,aksana,wirenut,pimpdady,1212312121,tamplier,pelican1,domodedovo,1928374655,fiction6,duckpond,ybrecz,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,jgjesq,turbo6,bobo12,redryder,blackpus,elena1971,danilova,antoin,bobo1234,bobob,bobbobbo,dean1,222222a,jesusgod,matt23,musical1,darkmage,loppol,werrew,josepha,rebel12,toshka,gadfly,hawkwood,alina12,dnomyar,sexaddict,dangit,cool23,yocrack,archimed,farouk,nhfkzkz,lindalou,111zzzzz,ghjatccjh,wethepeople,m123456789,wowsers,kbkbxrf,bulldog5,m_roesel,sissinit,yamoon6,123ewqasd,dangel,miruvor79,kaytee,falcon7,bandit11,dotnet,dannii,arsenal9,miatamx5,1trouble,strip4me,dogpile,sexyred1,rjdfktdf,google10,shortman,crystal7,awesome123,cowdog,haruka,birthday28,jitter,diabolik,boomer12,dknight,bluewate,hockey123,crm0624,blueboys,willy123,jumpup,google2,cobra777,llabesab,vicelord,hopper1,gerryber,remmah,j10e5d4,qqqqqqw,agusti,fre_ak8yj,nahlik,redrobin,scott3,epson1,dumpy,bundao,aniolek,hola123,jergens,itsasecret,maxsam,bluelight,mountai1,bongwater,1london,pepper14,freeuse,dereks,qweqw,fordgt40,rfhfdfy,raider12,hunnybun,compac,splicer,megamon,tuffgong,gymnast1,butter11,modaddy,wapbbs_1,dandelio,soccer77,ghjnbdjcnjzybt,123xyi2,fishead,x002tp00,whodaman,555aaa,oussama,brunodog,technici,pmtgjnbl,qcxdw8ry,schweden,redsox3,throbber,collecto,japan10,dbm123dm,hellhoun,tech1,deadzone,kahlan,wolf123,dethklok,xzsawq,bigguy1,cybrthc,chandle,buck01,qq123123,secreta,williams1,c32649135,delta12,flash33,123joker,spacejam,polopo,holycrap,daman1,tummybed,financia,nusrat,euroline,magicone,jimkirk,ameritec,daniel26,sevenn,topazz,kingpins,dima1991,macdog,spencer5,oi812,geoffre,music11,baffle,123569,usagi,cassiope,polla,lilcrowe,thecakeisalie,vbhjndjhtw,vthokies,oldmans,sophie01,ghoster,penny2,129834,locutus1,meesha,magik,jerry69,daddysgirl,irondesk,andrey12,jasmine123,vepsrfyn,likesdick,1accord,jetboat,grafix,tomuch,showit,protozoa,mosias98,taburetka,blaze420,esenin,anal69,zhv84kv,puissant,charles0,aishwarya,babylon6,bitter1,lenina,raleigh1,lechat,access01,kamilka,fynjy,sparkplu,daisy3112,choppe,zootsuit,1234567j,rubyrose,gorilla9,nightshade,alternativa,cghfdjxybr,snuggles1,10121v,vova1992,leonardo1,dave2,matthewd,vfhfnbr,1986mets,nobull,bacall,mexican1,juanjo,mafia1,boomer22,soylent,edwards1,jordan10,blackwid,alex86,gemini13,lunar2,dctvcjcfnm,malaki,plugger,eagles11,snafu2,1shelly,cintaku,hannah22,tbird1,maks5843,irish88,homer22,amarok,fktrcfylhjdf,lincoln2,acess,gre69kik,need4speed,hightech,core2duo,blunt1,ublhjgjybrf,dragon33,1autopas,autopas1,wwww1,15935746,daniel20,2500aa,massim,1ggggggg,96ford,hardcor1,cobra5,blackdragon,vovan_lt,orochimaru,hjlbntkb,qwertyuiop12,tallen,paradoks,frozenfish,ghjuhfvvbcn,gerri1,nuggett,camilit,doright,trans1,serena1,catch2,bkmyeh,fireston,afhvfwtdn,purple3,figure8,fuckya,scamp1,laranja,ontheoutside,louis123,yellow7,moonwalk,mercury2,tolkein,raide,amenra,a13579,dranreb,5150vh,harish,tracksta,sexking,ozzmosis,katiee,alomar,matrix19,headroom,jahlove,ringding,apollo8,132546,132613,12345672000,saretta,135798,136666,thomas7,136913,onetwothree,hockey33,calida,nefertit,bitwise,tailhook,boop4,kfgecbr,bujhmbujhm,metal69,thedark,meteoro,felicia1,house12,tinuviel,istina,vaz2105,pimp13,toolfan,nina1,tuesday2,maxmotives,lgkp500,locksley,treech,darling1,kurama,aminka,ramin,redhed,dazzler,jager1,stpiliot,cardman,rfvtym,cheeser,14314314,paramoun,samcat,plumpy,stiffie,vsajyjr,panatha,qqq777,car12345,098poi,asdzx,keegan1,furelise,kalifornia,vbhjckfd,beast123,zcfvfzkexifz,harry5,1birdie,96328i,escola,extra330,henry12,gfhfyjqz,14u2nv,max1234,templar1,1dave,02588520,catrin,pangolin,marhaba,latin1,amorcito,dave22,escape1,advance1,yasuhiro,grepw,meetme,orange01,ernes,erdna,zsergn,nautica1,justinb,soundwav,miasma,greg78,nadine1,sexmad,lovebaby,promo1,excel1,babys,dragonma,camry1,sonnenschein,farooq,wazzkaprivet,magal,katinas,elvis99,redsox24,rooney1,chiefy,peggys,aliev,pilsung,mudhen,dontdoit,dennis12,supercal,energia,ballsout,funone,claudiu,brown2,amoco,dabl1125,philos,gjdtkbntkm,servette,13571113,whizzer,nollie,13467982,upiter,12string,bluejay1,silkie,william4,kosta1,143333,connor12,sustanon,06068,corporat,ssnake,laurita,king10,tahoes,arsenal123,sapato,charless,jeanmarc,levent,algerie,marine21,jettas,winsome,dctvgbplf,1701ab,xxxp455w0rd5,lllllll1,ooooooo1,monalis,koufax32,anastasya,debugger,sarita2,jason69,ufkxjyjr,gjlcnfdf,1jerry,daniel10,balinor,sexkitten,death2,qwertasdfgzxcvb,s9te949f,vegeta1,sysman,maxxam,dimabilan,mooose,ilovetit,june23,illest,doesit,mamou,abby12,longjump,transalp,moderato,littleguy,magritte,dilnoza,hawaiiguy,winbig,nemiroff,kokaine,admira,myemail,dream2,browneyes,destiny7,dragonss,suckme1,asa123,andranik,suckem,fleshbot,dandie,timmys,scitra,timdog,hasbeen,guesss,smellyfe,arachne,deutschl,harley88,birthday27,nobody1,papasmur,home1,jonass,bunia3,epatb1,embalm,vfvekmrf,apacer,12345656,estreet,weihnachtsbaum,mrwhite,admin12,kristie1,kelebek,yoda69,socken,tima123,bayern1,fktrcfylth,tamiya,99strenght,andy01,denis2011,19delta,stokecit,aotearoa,stalker2,nicnac,conrad1,popey,agusta,bowl36,1bigfish,mossyoak,1stunner,getinnow,jessejames,gkfnjy,drako,1nissan,egor123,hotness,1hawaii,zxc123456,cantstop,1peaches,madlen,west1234,jeter1,markis,judit,attack1,artemi,silver69,153246,crazy2,green9,yoshimi,1vette,chief123,jasper2,1sierra,twentyon,drstrang,aspirant,yannic,jenna123,bongtoke,slurpy,1sugar,civic97,rusty21,shineon,james19,anna12345,wonderwoman,1kevin,karol1,kanabis,wert21,fktif6115,evil1,kakaha,54gv768,826248s,tyrone1,1winston,sugar2,falcon01,adelya,mopar440,zasxcd,leecher,kinkysex,mercede1,travka,11234567,rebon,geekboy".split(","),
16274english_wikipedia:"the,of,and,in,was,is,for,as,on,with,by,he,at,from,his,an,were,are,which,doc,https,also,or,has,had,first,one,their,its,after,new,who,they,two,her,she,been,other,when,time,during,there,into,school,more,may,years,over,only,year,most,would,world,city,some,where,between,later,three,state,such,then,national,used,made,known,under,many,university,united,while,part,season,team,these,american,than,film,second,born,south,became,states,war,through,being,including,both,before,north,high,however,people,family,early,history,album,area,them,series,against,until,since,district,county,name,work,life,group,music,following,number,company,several,four,called,played,released,career,league,game,government,house,each,based,day,same,won,use,station,club,international,town,located,population,general,college,east,found,age,march,end,september,began,home,public,church,line,june,river,member,system,place,century,band,july,york,january,october,song,august,best,former,british,party,named,held,village,show,local,november,took,service,december,built,another,major,within,along,members,five,single,due,although,small,old,left,final,large,include,building,served,president,received,games,death,february,main,third,set,children,own,order,species,park,law,air,published,road,died,book,men,women,army,often,according,education,central,country,division,english,top,included,development,french,community,among,water,play,side,list,times,near,late,form,original,different,center,power,led,students,german,moved,court,six,land,council,island,u.s.,record,million,research,art,established,award,street,military,television,given,region,support,western,production,non,political,point,cup,period,business,title,started,various,election,using,england,role,produced,become,program,works,field,total,office,class,written,association,radio,union,level,championship,director,few,force,created,department,founded,services,married,though,per,n't,site,open,act,short,society,version,royal,present,northern,worked,professional,full,returned,joined,story,france,european,currently,language,social,california,india,days,design,st.,further,round,australia,wrote,san,project,control,southern,railway,board,popular,continued,free,battle,considered,video,common,position,living,half,playing,recorded,red,post,described,average,records,special,modern,appeared,announced,areas,rock,release,elected,others,example,term,opened,similar,formed,route,census,current,schools,originally,lake,developed,race,himself,forces,addition,information,upon,province,match,event,songs,result,events,win,eastern,track,lead,teams,science,human,construction,minister,germany,awards,available,throughout,training,style,body,museum,australian,health,seven,signed,chief,eventually,appointed,sea,centre,debut,tour,points,media,light,range,character,across,features,families,largest,indian,network,less,performance,players,refer,europe,sold,festival,usually,taken,despite,designed,committee,process,return,official,episode,institute,stage,followed,performed,japanese,personal,thus,arts,space,low,months,includes,china,study,middle,magazine,leading,japan,groups,aircraft,featured,federal,civil,rights,model,coach,canadian,books,remained,eight,type,independent,completed,capital,academy,instead,kingdom,organization,countries,studies,competition,sports,size,above,section,finished,gold,involved,reported,management,systems,industry,directed,market,fourth,movement,technology,bank,ground,campaign,base,lower,sent,rather,added,provided,coast,grand,historic,valley,conference,bridge,winning,approximately,films,chinese,awarded,degree,russian,shows,native,female,replaced,municipality,square,studio,medical,data,african,successful,mid,bay,attack,previous,operations,spanish,theatre,student,republic,beginning,provide,ship,primary,owned,writing,tournament,culture,introduced,texas,related,natural,parts,governor,reached,ireland,units,senior,decided,italian,whose,higher,africa,standard,income,professor,placed,regional,los,buildings,championships,active,novel,energy,generally,interest,via,economic,previously,stated,itself,channel,below,operation,leader,traditional,trade,structure,limited,runs,prior,regular,famous,saint,navy,foreign,listed,artist,catholic,airport,results,parliament,collection,unit,officer,goal,attended,command,staff,commission,lived,location,plays,commercial,places,foundation,significant,older,medal,self,scored,companies,highway,activities,programs,wide,musical,notable,library,numerous,paris,towards,individual,allowed,plant,property,annual,contract,whom,highest,initially,required,earlier,assembly,artists,rural,seat,practice,defeated,ended,soviet,length,spent,manager,press,associated,author,issues,additional,characters,lord,zealand,policy,engine,township,noted,historical,complete,financial,religious,mission,contains,nine,recent,represented,pennsylvania,administration,opening,secretary,lines,report,executive,youth,closed,theory,writer,italy,angeles,appearance,feature,queen,launched,legal,terms,entered,issue,edition,singer,greek,majority,background,source,anti,cultural,complex,changes,recording,stadium,islands,operated,particularly,basketball,month,uses,port,castle,mostly,names,fort,selected,increased,status,earth,subsequently,pacific,cover,variety,certain,goals,remains,upper,congress,becoming,studied,irish,nature,particular,loss,caused,chart,dr.,forced,create,era,retired,material,review,rate,singles,referred,larger,individuals,shown,provides,products,speed,democratic,poland,parish,olympics,cities,themselves,temple,wing,genus,households,serving,cost,wales,stations,passed,supported,view,cases,forms,actor,male,matches,males,stars,tracks,females,administrative,median,effect,biography,train,engineering,camp,offered,chairman,houses,mainly,19th,surface,therefore,nearly,score,ancient,subject,prime,seasons,claimed,experience,specific,jewish,failed,overall,believed,plot,troops,greater,spain,consists,broadcast,heavy,increase,raised,separate,campus,1980s,appears,presented,lies,composed,recently,influence,fifth,nations,creek,references,elections,britain,double,cast,meaning,earned,carried,producer,latter,housing,brothers,attempt,article,response,border,remaining,nearby,direct,ships,value,workers,politician,academic,label,1970s,commander,rule,fellow,residents,authority,editor,transport,dutch,projects,responsible,covered,territory,flight,races,defense,tower,emperor,albums,facilities,daily,stories,assistant,managed,primarily,quality,function,proposed,distribution,conditions,prize,journal,code,vice,newspaper,corps,highly,constructed,mayor,critical,secondary,corporation,rugby,regiment,ohio,appearances,serve,allow,nation,multiple,discovered,directly,scene,levels,growth,elements,acquired,1990s,officers,physical,20th,latin,host,jersey,graduated,arrived,issued,literature,metal,estate,vote,immediately,quickly,asian,competed,extended,produce,urban,1960s,promoted,contemporary,global,formerly,appear,industrial,types,opera,ministry,soldiers,commonly,mass,formation,smaller,typically,drama,shortly,density,senate,effects,iran,polish,prominent,naval,settlement,divided,basis,republican,languages,distance,treatment,continue,product,mile,sources,footballer,format,clubs,leadership,initial,offers,operating,avenue,officially,columbia,grade,squadron,fleet,percent,farm,leaders,agreement,likely,equipment,website,mount,grew,method,transferred,intended,renamed,iron,asia,reserve,capacity,politics,widely,activity,advanced,relations,scottish,dedicated,crew,founder,episodes,lack,amount,build,efforts,concept,follows,ordered,leaves,positive,economy,entertainment,affairs,memorial,ability,illinois,communities,color,text,railroad,scientific,focus,comedy,serves,exchange,environment,cars,direction,organized,firm,description,agency,analysis,purpose,destroyed,reception,planned,revealed,infantry,architecture,growing,featuring,household,candidate,removed,situated,models,knowledge,solo,technical,organizations,assigned,conducted,participated,largely,purchased,register,gained,combined,headquarters,adopted,potential,protection,scale,approach,spread,independence,mountains,titled,geography,applied,safety,mixed,accepted,continues,captured,rail,defeat,principal,recognized,lieutenant,mentioned,semi,owner,joint,liberal,actress,traffic,creation,basic,notes,unique,supreme,declared,simply,plants,sales,massachusetts,designated,parties,jazz,compared,becomes,resources,titles,concert,learning,remain,teaching,versions,content,alongside,revolution,sons,block,premier,impact,champions,districts,generation,estimated,volume,image,sites,account,roles,sport,quarter,providing,zone,yard,scoring,classes,presence,performances,representatives,hosted,split,taught,origin,olympic,claims,critics,facility,occurred,suffered,municipal,damage,defined,resulted,respectively,expanded,platform,draft,opposition,expected,educational,ontario,climate,reports,atlantic,surrounding,performing,reduced,ranked,allows,birth,nominated,younger,newly,kong,positions,theater,philadelphia,heritage,finals,disease,sixth,laws,reviews,constitution,tradition,swedish,theme,fiction,rome,medicine,trains,resulting,existing,deputy,environmental,labour,classical,develop,fans,granted,receive,alternative,begins,nuclear,fame,buried,connected,identified,palace,falls,letters,combat,sciences,effort,villages,inspired,regions,towns,conservative,chosen,animals,labor,attacks,materials,yards,steel,representative,orchestra,peak,entitled,officials,returning,reference,northwest,imperial,convention,examples,ocean,publication,painting,subsequent,frequently,religion,brigade,fully,sides,acts,cemetery,relatively,oldest,suggested,succeeded,achieved,application,programme,cells,votes,promotion,graduate,armed,supply,flying,communist,figures,literary,netherlands,korea,worldwide,citizens,1950s,faculty,draw,stock,seats,occupied,methods,unknown,articles,claim,holds,authorities,audience,sweden,interview,obtained,covers,settled,transfer,marked,allowing,funding,challenge,southeast,unlike,crown,rise,portion,transportation,sector,phase,properties,edge,tropical,standards,institutions,philosophy,legislative,hills,brand,fund,conflict,unable,founding,refused,attempts,metres,permanent,starring,applications,creating,effective,aired,extensive,employed,enemy,expansion,billboard,rank,battalion,multi,vehicle,fought,alliance,category,perform,federation,poetry,bronze,bands,entry,vehicles,bureau,maximum,billion,trees,intelligence,greatest,screen,refers,commissioned,gallery,injury,confirmed,setting,treaty,adult,americans,broadcasting,supporting,pilot,mobile,writers,programming,existence,squad,minnesota,copies,korean,provincial,sets,defence,offices,agricultural,internal,core,northeast,retirement,factory,actions,prevent,communications,ending,weekly,containing,functions,attempted,interior,weight,bowl,recognition,incorporated,increasing,ultimately,documentary,derived,attacked,lyrics,mexican,external,churches,centuries,metropolitan,selling,opposed,personnel,mill,visited,presidential,roads,pieces,norwegian,controlled,18th,rear,influenced,wrestling,weapons,launch,composer,locations,developing,circuit,specifically,studios,shared,canal,wisconsin,publishing,approved,domestic,consisted,determined,comic,establishment,exhibition,southwest,fuel,electronic,cape,converted,educated,melbourne,hits,wins,producing,norway,slightly,occur,surname,identity,represent,constituency,funds,proved,links,structures,athletic,birds,contest,users,poet,institution,display,receiving,rare,contained,guns,motion,piano,temperature,publications,passenger,contributed,toward,cathedral,inhabitants,architect,exist,athletics,muslim,courses,abandoned,signal,successfully,disambiguation,tennessee,dynasty,heavily,maryland,jews,representing,budget,weather,missouri,introduction,faced,pair,chapel,reform,height,vietnam,occurs,motor,cambridge,lands,focused,sought,patients,shape,invasion,chemical,importance,communication,selection,regarding,homes,voivodeship,maintained,borough,failure,aged,passing,agriculture,oregon,teachers,flow,philippines,trail,seventh,portuguese,resistance,reaching,negative,fashion,scheduled,downtown,universities,trained,skills,scenes,views,notably,typical,incident,candidates,engines,decades,composition,commune,chain,inc.,austria,sale,values,employees,chamber,regarded,winners,registered,task,investment,colonial,swiss,user,entirely,flag,stores,closely,entrance,laid,journalist,coal,equal,causes,turkish,quebec,techniques,promote,junction,easily,dates,kentucky,singapore,residence,violence,advance,survey,humans,expressed,passes,streets,distinguished,qualified,folk,establish,egypt,artillery,visual,improved,actual,finishing,medium,protein,switzerland,productions,operate,poverty,neighborhood,organisation,consisting,consecutive,sections,partnership,extension,reaction,factor,costs,bodies,device,ethnic,racial,flat,objects,chapter,improve,musicians,courts,controversy,membership,merged,wars,expedition,interests,arab,comics,gain,describes,mining,bachelor,crisis,joining,decade,1930s,distributed,habitat,routes,arena,cycle,divisions,briefly,vocals,directors,degrees,object,recordings,installed,adjacent,demand,voted,causing,businesses,ruled,grounds,starred,drawn,opposite,stands,formal,operates,persons,counties,compete,wave,israeli,ncaa,resigned,brief,greece,combination,demographics,historian,contain,commonwealth,musician,collected,argued,louisiana,session,cabinet,parliamentary,electoral,loan,profit,regularly,conservation,islamic,purchase,17th,charts,residential,earliest,designs,paintings,survived,moth,items,goods,grey,anniversary,criticism,images,discovery,observed,underground,progress,additionally,participate,thousands,reduce,elementary,owners,stating,iraq,resolution,capture,tank,rooms,hollywood,finance,queensland,reign,maintain,iowa,landing,broad,outstanding,circle,path,manufacturing,assistance,sequence,gmina,crossing,leads,universal,shaped,kings,attached,medieval,ages,metro,colony,affected,scholars,oklahoma,coastal,soundtrack,painted,attend,definition,meanwhile,purposes,trophy,require,marketing,popularity,cable,mathematics,mississippi,represents,scheme,appeal,distinct,factors,acid,subjects,roughly,terminal,economics,senator,diocese,prix,contrast,argentina,czech,wings,relief,stages,duties,16th,novels,accused,whilst,equivalent,charged,measure,documents,couples,request,danish,defensive,guide,devices,statistics,credited,tries,passengers,allied,frame,puerto,peninsula,concluded,instruments,wounded,differences,associate,forests,afterwards,replace,requirements,aviation,solution,offensive,ownership,inner,legislation,hungarian,contributions,actors,translated,denmark,steam,depending,aspects,assumed,injured,severe,admitted,determine,shore,technique,arrival,measures,translation,debuted,delivered,returns,rejected,separated,visitors,damaged,storage,accompanied,markets,industries,losses,gulf,charter,strategy,corporate,socialist,somewhat,significantly,physics,mounted,satellite,experienced,constant,relative,pattern,restored,belgium,connecticut,partners,harvard,retained,networks,protected,mode,artistic,parallel,collaboration,debate,involving,journey,linked,salt,authors,components,context,occupation,requires,occasionally,policies,tamil,ottoman,revolutionary,hungary,poem,versus,gardens,amongst,audio,makeup,frequency,meters,orthodox,continuing,suggests,legislature,coalition,guitarist,eighth,classification,practices,soil,tokyo,instance,limit,coverage,considerable,ranking,colleges,cavalry,centers,daughters,twin,equipped,broadway,narrow,hosts,rates,domain,boundary,arranged,12th,whereas,brazilian,forming,rating,strategic,competitions,trading,covering,baltimore,commissioner,infrastructure,origins,replacement,praised,disc,collections,expression,ukraine,driven,edited,austrian,solar,ensure,premiered,successor,wooden,operational,hispanic,concerns,rapid,prisoners,childhood,meets,influential,tunnel,employment,tribe,qualifying,adapted,temporary,celebrated,appearing,increasingly,depression,adults,cinema,entering,laboratory,script,flows,romania,accounts,fictional,pittsburgh,achieve,monastery,franchise,formally,tools,newspapers,revival,sponsored,processes,vienna,springs,missions,classified,13th,annually,branches,lakes,gender,manner,advertising,normally,maintenance,adding,characteristics,integrated,decline,modified,strongly,critic,victims,malaysia,arkansas,nazi,restoration,powered,monument,hundreds,depth,15th,controversial,admiral,criticized,brick,honorary,initiative,output,visiting,birmingham,progressive,existed,carbon,1920s,credits,colour,rising,hence,defeating,superior,filmed,listing,column,surrounded,orleans,principles,territories,struck,participation,indonesia,movements,index,commerce,conduct,constitutional,spiritual,ambassador,vocal,completion,edinburgh,residing,tourism,finland,bears,medals,resident,themes,visible,indigenous,involvement,basin,electrical,ukrainian,concerts,boats,styles,processing,rival,drawing,vessels,experimental,declined,touring,supporters,compilation,coaching,cited,dated,roots,string,explained,transit,traditionally,poems,minimum,representation,14th,releases,effectively,architectural,triple,indicated,greatly,elevation,clinical,printed,10th,proposal,peaked,producers,romanized,rapidly,stream,innings,meetings,counter,householder,honour,lasted,agencies,document,exists,surviving,experiences,honors,landscape,hurricane,harbor,panel,competing,profile,vessel,farmers,lists,revenue,exception,customers,11th,participants,wildlife,utah,bible,gradually,preserved,replacing,symphony,begun,longest,siege,provinces,mechanical,genre,transmission,agents,executed,videos,benefits,funded,rated,instrumental,ninth,similarly,dominated,destruction,passage,technologies,thereafter,outer,facing,affiliated,opportunities,instrument,governments,scholar,evolution,channels,shares,sessions,widespread,occasions,engineers,scientists,signing,battery,competitive,alleged,eliminated,supplies,judges,hampshire,regime,portrayed,penalty,taiwan,denied,submarine,scholarship,substantial,transition,victorian,http,nevertheless,filed,supports,continental,tribes,ratio,doubles,useful,honours,blocks,principle,retail,departure,ranks,patrol,yorkshire,vancouver,inter,extent,afghanistan,strip,railways,component,organ,symbol,categories,encouraged,abroad,civilian,periods,traveled,writes,struggle,immediate,recommended,adaptation,egyptian,graduating,assault,drums,nomination,historically,voting,allies,detailed,achievement,percentage,arabic,assist,frequent,toured,apply,and/or,intersection,maine,touchdown,throne,produces,contribution,emerged,obtain,archbishop,seek,researchers,remainder,populations,clan,finnish,overseas,fifa,licensed,chemistry,festivals,mediterranean,injuries,animated,seeking,publisher,volumes,limits,venue,jerusalem,generated,trials,islam,youngest,ruling,glasgow,germans,songwriter,persian,municipalities,donated,viewed,belgian,cooperation,posted,tech,dual,volunteer,settlers,commanded,claiming,approval,delhi,usage,terminus,partly,electricity,locally,editions,premiere,absence,belief,traditions,statue,indicate,manor,stable,attributed,possession,managing,viewers,chile,overview,seed,regulations,essential,minority,cargo,segment,endemic,forum,deaths,monthly,playoffs,erected,practical,machines,suburb,relation,mrs.,descent,indoor,continuous,characterized,solutions,caribbean,rebuilt,serbian,summary,contested,psychology,pitch,attending,muhammad,tenure,drivers,diameter,assets,venture,punk,airlines,concentration,athletes,volunteers,pages,mines,influences,sculpture,protest,ferry,behalf,drafted,apparent,furthermore,ranging,romanian,democracy,lanka,significance,linear,d.c.,certified,voters,recovered,tours,demolished,boundaries,assisted,identify,grades,elsewhere,mechanism,1940s,reportedly,aimed,conversion,suspended,photography,departments,beijing,locomotives,publicly,dispute,magazines,resort,conventional,platforms,internationally,capita,settlements,dramatic,derby,establishing,involves,statistical,implementation,immigrants,exposed,diverse,layer,vast,ceased,connections,belonged,interstate,uefa,organised,abuse,deployed,cattle,partially,filming,mainstream,reduction,automatic,rarely,subsidiary,decides,merger,comprehensive,displayed,amendment,guinea,exclusively,manhattan,concerning,commons,radical,serbia,baptist,buses,initiated,portrait,harbour,choir,citizen,sole,unsuccessful,manufactured,enforcement,connecting,increases,patterns,sacred,muslims,clothing,hindu,unincorporated,sentenced,advisory,tanks,campaigns,fled,repeated,remote,rebellion,implemented,texts,fitted,tribute,writings,sufficient,ministers,21st,devoted,jurisdiction,coaches,interpretation,pole,businessman,peru,sporting,prices,cuba,relocated,opponent,arrangement,elite,manufacturer,responded,suitable,distinction,calendar,dominant,tourist,earning,prefecture,ties,preparation,anglo,pursue,worship,archaeological,chancellor,bangladesh,scores,traded,lowest,horror,outdoor,biology,commented,specialized,loop,arriving,farming,housed,historians,'the,patent,pupils,christianity,opponents,athens,northwestern,maps,promoting,reveals,flights,exclusive,lions,norfolk,hebrew,extensively,eldest,shops,acquisition,virtual,renowned,margin,ongoing,essentially,iranian,alternate,sailed,reporting,conclusion,originated,temperatures,exposure,secured,landed,rifle,framework,identical,martial,focuses,topics,ballet,fighters,belonging,wealthy,negotiations,evolved,bases,oriented,acres,democrat,heights,restricted,vary,graduation,aftermath,chess,illness,participating,vertical,collective,immigration,demonstrated,leaf,completing,organic,missile,leeds,eligible,grammar,confederate,improvement,congressional,wealth,cincinnati,spaces,indicates,corresponding,reaches,repair,isolated,taxes,congregation,ratings,leagues,diplomatic,submitted,winds,awareness,photographs,maritime,nigeria,accessible,animation,restaurants,philippine,inaugural,dismissed,armenian,illustrated,reservoir,speakers,programmes,resource,genetic,interviews,camps,regulation,computers,preferred,travelled,comparison,distinctive,recreation,requested,southeastern,dependent,brisbane,breeding,playoff,expand,bonus,gauge,departed,qualification,inspiration,shipping,slaves,variations,shield,theories,munich,recognised,emphasis,favour,variable,seeds,undergraduate,territorial,intellectual,qualify,mini,banned,pointed,democrats,assessment,judicial,examination,attempting,objective,partial,characteristic,hardware,pradesh,execution,ottawa,metre,drum,exhibitions,withdrew,attendance,phrase,journalism,logo,measured,error,christians,trio,protestant,theology,respective,atmosphere,buddhist,substitute,curriculum,fundamental,outbreak,rabbi,intermediate,designation,globe,liberation,simultaneously,diseases,experiments,locomotive,difficulties,mainland,nepal,relegated,contributing,database,developments,veteran,carries,ranges,instruction,lodge,protests,obama,newcastle,experiment,physician,describing,challenges,corruption,delaware,adventures,ensemble,succession,renaissance,tenth,altitude,receives,approached,crosses,syria,croatia,warsaw,professionals,improvements,worn,airline,compound,permitted,preservation,reducing,printing,scientist,activist,comprises,sized,societies,enters,ruler,gospel,earthquake,extend,autonomous,croatian,serial,decorated,relevant,ideal,grows,grass,tier,towers,wider,welfare,columns,alumni,descendants,interface,reserves,banking,colonies,manufacturers,magnetic,closure,pitched,vocalist,preserve,enrolled,cancelled,equation,2000s,nickname,bulgaria,heroes,exile,mathematical,demands,input,structural,tube,stem,approaches,argentine,axis,manuscript,inherited,depicted,targets,visits,veterans,regard,removal,efficiency,organisations,concepts,lebanon,manga,petersburg,rally,supplied,amounts,yale,tournaments,broadcasts,signals,pilots,azerbaijan,architects,enzyme,literacy,declaration,placing,batting,incumbent,bulgarian,consistent,poll,defended,landmark,southwestern,raid,resignation,travels,casualties,prestigious,namely,aims,recipient,warfare,readers,collapse,coached,controls,volleyball,coup,lesser,verse,pairs,exhibited,proteins,molecular,abilities,integration,consist,aspect,advocate,administered,governing,hospitals,commenced,coins,lords,variation,resumed,canton,artificial,elevated,palm,difficulty,civic,efficient,northeastern,inducted,radiation,affiliate,boards,stakes,byzantine,consumption,freight,interaction,oblast,numbered,seminary,contracts,extinct,predecessor,bearing,cultures,functional,neighboring,revised,cylinder,grants,narrative,reforms,athlete,tales,reflect,presidency,compositions,specialist,cricketer,founders,sequel,widow,disbanded,associations,backed,thereby,pitcher,commanding,boulevard,singers,crops,militia,reviewed,centres,waves,consequently,fortress,tributary,portions,bombing,excellence,nest,payment,mars,plaza,unity,victories,scotia,farms,nominations,variant,attacking,suspension,installation,graphics,estates,comments,acoustic,destination,venues,surrender,retreat,libraries,quarterback,customs,berkeley,collaborated,gathered,syndrome,dialogue,recruited,shanghai,neighbouring,psychological,saudi,moderate,exhibit,innovation,depot,binding,brunswick,situations,certificate,actively,shakespeare,editorial,presentation,ports,relay,nationalist,methodist,archives,experts,maintains,collegiate,bishops,maintaining,temporarily,embassy,essex,wellington,connects,reformed,bengal,recalled,inches,doctrine,deemed,legendary,reconstruction,statements,palestinian,meter,achievements,riders,interchange,spots,auto,accurate,chorus,dissolved,missionary,thai,operators,e.g.,generations,failing,delayed,cork,nashville,perceived,venezuela,cult,emerging,tomb,abolished,documented,gaining,canyon,episcopal,stored,assists,compiled,kerala,kilometers,mosque,grammy,theorem,unions,segments,glacier,arrives,theatrical,circulation,conferences,chapters,displays,circular,authored,conductor,fewer,dimensional,nationwide,liga,yugoslavia,peer,vietnamese,fellowship,armies,regardless,relating,dynamic,politicians,mixture,serie,somerset,imprisoned,posts,beliefs,beta,layout,independently,electronics,provisions,fastest,logic,headquartered,creates,challenged,beaten,appeals,plains,protocol,graphic,accommodate,iraqi,midfielder,span,commentary,freestyle,reflected,palestine,lighting,burial,virtually,backing,prague,tribal,heir,identification,prototype,criteria,dame,arch,tissue,footage,extending,procedures,predominantly,updated,rhythm,preliminary,cafe,disorder,prevented,suburbs,discontinued,retiring,oral,followers,extends,massacre,journalists,conquest,larvae,pronounced,behaviour,diversity,sustained,addressed,geographic,restrictions,voiced,milwaukee,dialect,quoted,grid,nationally,nearest,roster,twentieth,separation,indies,manages,citing,intervention,guidance,severely,migration,artwork,focusing,rivals,trustees,varied,enabled,committees,centered,skating,slavery,cardinals,forcing,tasks,auckland,youtube,argues,colored,advisor,mumbai,requiring,theological,registration,refugees,nineteenth,survivors,runners,colleagues,priests,contribute,variants,workshop,concentrated,creator,lectures,temples,exploration,requirement,interactive,navigation,companion,perth,allegedly,releasing,citizenship,observation,stationed,ph.d.,sheep,breed,discovers,encourage,kilometres,journals,performers,isle,saskatchewan,hybrid,hotels,lancashire,dubbed,airfield,anchor,suburban,theoretical,sussex,anglican,stockholm,permanently,upcoming,privately,receiver,optical,highways,congo,colours,aggregate,authorized,repeatedly,varies,fluid,innovative,transformed,praise,convoy,demanded,discography,attraction,export,audiences,ordained,enlisted,occasional,westminster,syrian,heavyweight,bosnia,consultant,eventual,improving,aires,wickets,epic,reactions,scandal,i.e.,discrimination,buenos,patron,investors,conjunction,testament,construct,encountered,celebrity,expanding,georgian,brands,retain,underwent,algorithm,foods,provision,orbit,transformation,associates,tactical,compact,varieties,stability,refuge,gathering,moreover,manila,configuration,gameplay,discipline,entity,comprising,composers,skill,monitoring,ruins,museums,sustainable,aerial,altered,codes,voyage,friedrich,conflicts,storyline,travelling,conducting,merit,indicating,referendum,currency,encounter,particles,automobile,workshops,acclaimed,inhabited,doctorate,cuban,phenomenon,dome,enrollment,tobacco,governance,trend,equally,manufacture,hydrogen,grande,compensation,download,pianist,grain,shifted,neutral,evaluation,define,cycling,seized,array,relatives,motors,firms,varying,automatically,restore,nicknamed,findings,governed,investigate,manitoba,administrator,vital,integral,indonesian,confusion,publishers,enable,geographical,inland,naming,civilians,reconnaissance,indianapolis,lecturer,deer,tourists,exterior,rhode,bassist,symbols,scope,ammunition,yuan,poets,punjab,nursing,cent,developers,estimates,presbyterian,nasa,holdings,generate,renewed,computing,cyprus,arabia,duration,compounds,gastropod,permit,valid,touchdowns,facade,interactions,mineral,practiced,allegations,consequence,goalkeeper,baronet,copyright,uprising,carved,targeted,competitors,mentions,sanctuary,fees,pursued,tampa,chronicle,capabilities,specified,specimens,toll,accounting,limestone,staged,upgraded,philosophical,streams,guild,revolt,rainfall,supporter,princeton,terrain,hometown,probability,assembled,paulo,surrey,voltage,developer,destroyer,floors,lineup,curve,prevention,potentially,onwards,trips,imposed,hosting,striking,strict,admission,apartments,solely,utility,proceeded,observations,euro,incidents,vinyl,profession,haven,distant,expelled,rivalry,runway,torpedo,zones,shrine,dimensions,investigations,lithuania,idaho,pursuit,copenhagen,considerably,locality,wireless,decrease,genes,thermal,deposits,hindi,habitats,withdrawn,biblical,monuments,casting,plateau,thesis,managers,flooding,assassination,acknowledged,interim,inscription,guided,pastor,finale,insects,transported,activists,marshal,intensity,airing,cardiff,proposals,lifestyle,prey,herald,capitol,aboriginal,measuring,lasting,interpreted,occurring,desired,drawings,healthcare,panels,elimination,oslo,ghana,blog,sabha,intent,superintendent,governors,bankruptcy,p.m.,equity,disk,layers,slovenia,prussia,quartet,mechanics,graduates,politically,monks,screenplay,nato,absorbed,topped,petition,bold,morocco,exhibits,canterbury,publish,rankings,crater,dominican,enhanced,planes,lutheran,governmental,joins,collecting,brussels,unified,streak,strategies,flagship,surfaces,oval,archive,etymology,imprisonment,instructor,noting,remix,opposing,servant,rotation,width,trans,maker,synthesis,excess,tactics,snail,ltd.,lighthouse,sequences,cornwall,plantation,mythology,performs,foundations,populated,horizontal,speedway,activated,performer,diving,conceived,edmonton,subtropical,environments,prompted,semifinals,caps,bulk,treasury,recreational,telegraph,continent,portraits,relegation,catholics,graph,velocity,rulers,endangered,secular,observer,learns,inquiry,idol,dictionary,certification,estimate,cluster,armenia,observatory,revived,nadu,consumers,hypothesis,manuscripts,contents,arguments,editing,trails,arctic,essays,belfast,acquire,promotional,undertaken,corridor,proceedings,antarctic,millennium,labels,delegates,vegetation,acclaim,directing,substance,outcome,diploma,philosopher,malta,albanian,vicinity,degc,legends,regiments,consent,terrorist,scattered,presidents,gravity,orientation,deployment,duchy,refuses,estonia,crowned,separately,renovation,rises,wilderness,objectives,agreements,empress,slopes,inclusion,equality,decree,ballot,criticised,rochester,recurring,struggled,disabled,henri,poles,prussian,convert,bacteria,poorly,sudan,geological,wyoming,consistently,minimal,withdrawal,interviewed,proximity,repairs,initiatives,pakistani,republicans,propaganda,viii,abstract,commercially,availability,mechanisms,naples,discussions,underlying,lens,proclaimed,advised,spelling,auxiliary,attract,lithuanian,editors,o'brien,accordance,measurement,novelist,ussr,formats,councils,contestants,indie,facebook,parishes,barrier,battalions,sponsor,consulting,terrorism,implement,uganda,crucial,unclear,notion,distinguish,collector,attractions,filipino,ecology,investments,capability,renovated,iceland,albania,accredited,scouts,armor,sculptor,cognitive,errors,gaming,condemned,successive,consolidated,baroque,entries,regulatory,reserved,treasurer,variables,arose,technological,rounded,provider,rhine,agrees,accuracy,genera,decreased,frankfurt,ecuador,edges,particle,rendered,calculated,careers,faction,rifles,americas,gaelic,portsmouth,resides,merchants,fiscal,premises,coin,draws,presenter,acceptance,ceremonies,pollution,consensus,membrane,brigadier,nonetheless,genres,supervision,predicted,magnitude,finite,differ,ancestry,vale,delegation,removing,proceeds,placement,emigrated,siblings,molecules,payments,considers,demonstration,proportion,newer,valve,achieving,confederation,continuously,luxury,notre,introducing,coordinates,charitable,squadrons,disorders,geometry,winnipeg,ulster,loans,longtime,receptor,preceding,belgrade,mandate,wrestler,neighbourhood,factories,buddhism,imported,sectors,protagonist,steep,elaborate,prohibited,artifacts,prizes,pupil,cooperative,sovereign,subspecies,carriers,allmusic,nationals,settings,autobiography,neighborhoods,analog,facilitate,voluntary,jointly,newfoundland,organizing,raids,exercises,nobel,machinery,baltic,crop,granite,dense,websites,mandatory,seeks,surrendered,anthology,comedian,bombs,slot,synopsis,critically,arcade,marking,equations,halls,indo,inaugurated,embarked,speeds,clause,invention,premiership,likewise,presenting,demonstrate,designers,organize,examined,km/h,bavaria,troop,referee,detection,zurich,prairie,rapper,wingspan,eurovision,luxembourg,slovakia,inception,disputed,mammals,entrepreneur,makers,evangelical,yield,clergy,trademark,defunct,allocated,depicting,volcanic,batted,conquered,sculptures,providers,reflects,armoured,locals,walt,herzegovina,contracted,entities,sponsorship,prominence,flowing,ethiopia,marketed,corporations,withdraw,carnegie,induced,investigated,portfolio,flowering,opinions,viewing,classroom,donations,bounded,perception,leicester,fruits,charleston,academics,statute,complaints,smallest,deceased,petroleum,resolved,commanders,algebra,southampton,modes,cultivation,transmitter,spelled,obtaining,sizes,acre,pageant,bats,abbreviated,correspondence,barracks,feast,tackles,raja,derives,geology,disputes,translations,counted,constantinople,seating,macedonia,preventing,accommodation,homeland,explored,invaded,provisional,transform,sphere,unsuccessfully,missionaries,conservatives,highlights,traces,organisms,openly,dancers,fossils,absent,monarchy,combining,lanes,stint,dynamics,chains,missiles,screening,module,tribune,generating,miners,nottingham,seoul,unofficial,owing,linking,rehabilitation,citation,louisville,mollusk,depicts,differential,zimbabwe,kosovo,recommendations,responses,pottery,scorer,aided,exceptions,dialects,telecommunications,defines,elderly,lunar,coupled,flown,25th,espn,formula_1,bordered,fragments,guidelines,gymnasium,valued,complexity,papal,presumably,maternal,challenging,reunited,advancing,comprised,uncertain,favorable,twelfth,correspondent,nobility,livestock,expressway,chilean,tide,researcher,emissions,profits,lengths,accompanying,witnessed,itunes,drainage,slope,reinforced,feminist,sanskrit,develops,physicians,outlets,isbn,coordinator,averaged,termed,occupy,diagnosed,yearly,humanitarian,prospect,spacecraft,stems,enacted,linux,ancestors,karnataka,constitute,immigrant,thriller,ecclesiastical,generals,celebrations,enhance,heating,advocated,evident,advances,bombardment,watershed,shuttle,wicket,twitter,adds,branded,teaches,schemes,pension,advocacy,conservatory,cairo,varsity,freshwater,providence,seemingly,shells,cuisine,specially,peaks,intensive,publishes,trilogy,skilled,nacional,unemployment,destinations,parameters,verses,trafficking,determination,infinite,savings,alignment,linguistic,countryside,dissolution,measurements,advantages,licence,subfamily,highlands,modest,regent,algeria,crest,teachings,knockout,brewery,combine,conventions,descended,chassis,primitive,fiji,explicitly,cumberland,uruguay,laboratories,bypass,elect,informal,preceded,holocaust,tackle,minneapolis,quantity,securities,console,doctoral,religions,commissioners,expertise,unveiled,precise,diplomat,standings,infant,disciplines,sicily,endorsed,systematic,charted,armored,mild,lateral,townships,hurling,prolific,invested,wartime,compatible,galleries,moist,battlefield,decoration,convent,tubes,terrestrial,nominee,requests,delegate,leased,dubai,polar,applying,addresses,munster,sings,commercials,teamed,dances,eleventh,midland,cedar,flee,sandstone,snails,inspection,divide,asset,themed,comparable,paramount,dairy,archaeology,intact,institutes,rectangular,instances,phases,reflecting,substantially,applies,vacant,lacked,copa,coloured,encounters,sponsors,encoded,possess,revenues,ucla,chaired,a.m.,enabling,playwright,stoke,sociology,tibetan,frames,motto,financing,illustrations,gibraltar,chateau,bolivia,transmitted,enclosed,persuaded,urged,folded,suffolk,regulated,bros.,submarines,myth,oriental,malaysian,effectiveness,narrowly,acute,sunk,replied,utilized,tasmania,consortium,quantities,gains,parkway,enlarged,sided,employers,adequate,accordingly,assumption,ballad,mascot,distances,peaking,saxony,projected,affiliation,limitations,metals,guatemala,scots,theaters,kindergarten,verb,employer,differs,discharge,controller,seasonal,marching,guru,campuses,avoided,vatican,maori,excessive,chartered,modifications,caves,monetary,sacramento,mixing,institutional,celebrities,irrigation,shapes,broadcaster,anthem,attributes,demolition,offshore,specification,surveys,yugoslav,contributor,auditorium,lebanese,capturing,airports,classrooms,chennai,paths,tendency,determining,lacking,upgrade,sailors,detected,kingdoms,sovereignty,freely,decorative,momentum,scholarly,georges,gandhi,speculation,transactions,undertook,interact,similarities,cove,teammate,constituted,painters,tends,madagascar,partnerships,afghan,personalities,attained,rebounds,masses,synagogue,reopened,asylum,embedded,imaging,catalogue,defenders,taxonomy,fiber,afterward,appealed,communists,lisbon,rica,judaism,adviser,batsman,ecological,commands,lgbt,cooling,accessed,wards,shiva,employs,thirds,scenic,worcester,tallest,contestant,humanities,economist,textile,constituencies,motorway,tram,percussion,cloth,leisure,1880s,baden,flags,resemble,riots,coined,sitcom,composite,implies,daytime,tanzania,penalties,optional,competitor,excluded,steering,reversed,autonomy,reviewer,breakthrough,professionally,damages,pomeranian,deputies,valleys,ventures,highlighted,electorate,mapping,shortened,executives,tertiary,specimen,launching,bibliography,sank,pursuing,binary,descendant,marched,natives,ideology,turks,adolf,archdiocese,tribunal,exceptional,nigerian,preference,fails,loading,comeback,vacuum,favored,alter,remnants,consecrated,spectators,trends,patriarch,feedback,paved,sentences,councillor,astronomy,advocates,broader,commentator,commissions,identifying,revealing,theatres,incomplete,enables,constituent,reformation,tract,haiti,atmospheric,screened,explosive,czechoslovakia,acids,symbolic,subdivision,liberals,incorporate,challenger,erie,filmmaker,laps,kazakhstan,organizational,evolutionary,chemicals,dedication,riverside,fauna,moths,maharashtra,annexed,gen.,resembles,underwater,garnered,timeline,remake,suited,educator,hectares,automotive,feared,latvia,finalist,narrator,portable,airways,plaque,designing,villagers,licensing,flank,statues,struggles,deutsche,migrated,cellular,jacksonville,wimbledon,defining,highlight,preparatory,planets,cologne,employ,frequencies,detachment,readily,libya,resign,halt,helicopters,reef,landmarks,collaborative,irregular,retaining,helsinki,folklore,weakened,viscount,interred,professors,memorable,mega,repertoire,rowing,dorsal,albeit,progressed,operative,coronation,liner,telugu,domains,philharmonic,detect,bengali,synthetic,tensions,atlas,dramatically,paralympics,xbox,shire,kiev,lengthy,sued,notorious,seas,screenwriter,transfers,aquatic,pioneers,unesco,radius,abundant,tunnels,syndicated,inventor,accreditation,janeiro,exeter,ceremonial,omaha,cadet,predators,resided,prose,slavic,precision,abbot,deity,engaging,cambodia,estonian,compliance,demonstrations,protesters,reactor,commodore,successes,chronicles,mare,extant,listings,minerals,tonnes,parody,cultivated,traders,pioneering,supplement,slovak,preparations,collision,partnered,vocational,atoms,malayalam,welcomed,documentation,curved,functioning,presently,formations,incorporates,nazis,botanical,nucleus,ethical,greeks,metric,automated,whereby,stance,europeans,duet,disability,purchasing,email,telescope,displaced,sodium,comparative,processor,inning,precipitation,aesthetic,import,coordination,feud,alternatively,mobility,tibet,regained,succeeding,hierarchy,apostolic,catalog,reproduction,inscriptions,vicar,clusters,posthumously,rican,loosely,additions,photographic,nowadays,selective,derivative,keyboards,guides,collectively,affecting,combines,operas,networking,decisive,terminated,continuity,finishes,ancestor,consul,heated,simulation,leipzig,incorporating,georgetown,formula_2,circa,forestry,portrayal,councillors,advancement,complained,forewings,confined,transaction,definitions,reduces,televised,1890s,rapids,phenomena,belarus,alps,landscapes,quarterly,specifications,commemorate,continuation,isolation,antenna,downstream,patents,ensuing,tended,saga,lifelong,columnist,labeled,gymnastics,papua,anticipated,demise,encompasses,madras,antarctica,interval,icon,rams,midlands,ingredients,priory,strengthen,rouge,explicit,gaza,aging,securing,anthropology,listeners,adaptations,underway,vista,malay,fortified,lightweight,violations,concerto,financed,jesuit,observers,trustee,descriptions,nordic,resistant,opted,accepts,prohibition,andhra,inflation,negro,wholly,imagery,spur,instructed,gloucester,cycles,middlesex,destroyers,statewide,evacuated,hyderabad,peasants,mice,shipyard,coordinate,pitching,colombian,exploring,numbering,compression,countess,hiatus,exceed,raced,archipelago,traits,soils,o'connor,vowel,android,facto,angola,amino,holders,logistics,circuits,emergence,kuwait,partition,emeritus,outcomes,submission,promotes,barack,negotiated,loaned,stripped,50th,excavations,treatments,fierce,participant,exports,decommissioned,cameo,remarked,residences,fuselage,mound,undergo,quarry,node,midwest,specializing,occupies,etc.,showcase,molecule,offs,modules,salon,exposition,revision,peers,positioned,hunters,competes,algorithms,reside,zagreb,calcium,uranium,silicon,airs,counterpart,outlet,collectors,sufficiently,canberra,inmates,anatomy,ensuring,curves,aviv,firearms,basque,volcano,thrust,sheikh,extensions,installations,aluminum,darker,sacked,emphasized,aligned,asserted,pseudonym,spanning,decorations,eighteenth,orbital,spatial,subdivided,notation,decay,macedonian,amended,declining,cyclist,feat,unusually,commuter,birthplace,latitude,activation,overhead,30th,finalists,whites,encyclopedia,tenor,qatar,survives,complement,concentrations,uncommon,astronomical,bangalore,pius,genome,memoir,recruit,prosecutor,modification,paired,container,basilica,arlington,displacement,germanic,mongolia,proportional,debates,matched,calcutta,rows,tehran,aerospace,prevalent,arise,lowland,24th,spokesman,supervised,advertisements,clash,tunes,revelation,wanderers,quarterfinals,fisheries,steadily,memoirs,pastoral,renewable,confluence,acquiring,strips,slogan,upstream,scouting,analyst,practitioners,turbine,strengthened,heavier,prehistoric,plural,excluding,isles,persecution,turin,rotating,villain,hemisphere,unaware,arabs,corpus,relied,singular,unanimous,schooling,passive,angles,dominance,instituted,aria,outskirts,balanced,beginnings,financially,structured,parachute,viewer,attitudes,subjected,escapes,derbyshire,erosion,addressing,styled,declaring,originating,colts,adjusted,stained,occurrence,fortifications,baghdad,nitrogen,localities,yemen,galway,debris,lodz,victorious,pharmaceutical,substances,unnamed,dwelling,atop,developmental,activism,voter,refugee,forested,relates,overlooking,genocide,kannada,insufficient,oversaw,partisan,dioxide,recipients,factions,mortality,capped,expeditions,receptors,reorganized,prominently,atom,flooded,flute,orchestral,scripts,mathematician,airplay,detached,rebuilding,dwarf,brotherhood,salvation,expressions,arabian,cameroon,poetic,recruiting,bundesliga,inserted,scrapped,disabilities,evacuation,pasha,undefeated,crafts,rituals,aluminium,norm,pools,submerged,occupying,pathway,exams,prosperity,wrestlers,promotions,basal,permits,nationalism,trim,merge,gazette,tributaries,transcription,caste,porto,emerge,modeled,adjoining,counterparts,paraguay,redevelopment,renewal,unreleased,equilibrium,similarity,minorities,soviets,comprise,nodes,tasked,unrelated,expired,johan,precursor,examinations,electrons,socialism,exiled,admiralty,floods,wigan,nonprofit,lacks,brigades,screens,repaired,hanover,fascist,labs,osaka,delays,judged,statutory,colt,col.,offspring,solving,bred,assisting,retains,somalia,grouped,corresponds,tunisia,chaplain,eminent,chord,22nd,spans,viral,innovations,possessions,mikhail,kolkata,icelandic,implications,introduces,racism,workforce,alto,compulsory,admits,censorship,onset,reluctant,inferior,iconic,progression,liability,turnout,satellites,behavioral,coordinated,exploitation,posterior,averaging,fringe,krakow,mountainous,greenwich,para,plantations,reinforcements,offerings,famed,intervals,constraints,individually,nutrition,1870s,taxation,threshold,tomatoes,fungi,contractor,ethiopian,apprentice,diabetes,wool,gujarat,honduras,norse,bucharest,23rd,arguably,accompany,prone,teammates,perennial,vacancy,polytechnic,deficit,okinawa,functionality,reminiscent,tolerance,transferring,myanmar,concludes,neighbours,hydraulic,economically,slower,plots,charities,synod,investor,catholicism,identifies,bronx,interpretations,adverse,judiciary,hereditary,nominal,sensor,symmetry,cubic,triangular,tenants,divisional,outreach,representations,passages,undergoing,cartridge,testified,exceeded,impacts,limiting,railroads,defeats,regain,rendering,humid,retreated,reliability,governorate,antwerp,infamous,implied,packaging,lahore,trades,billed,extinction,ecole,rejoined,recognizes,projection,qualifications,stripes,forts,socially,lexington,accurately,sexuality,westward,wikipedia,pilgrimage,abolition,choral,stuttgart,nests,expressing,strikeouts,assessed,monasteries,reconstructed,humorous,marxist,fertile,consort,urdu,patronage,peruvian,devised,lyric,baba,nassau,communism,extraction,popularly,markings,inability,litigation,accounted,processed,emirates,tempo,cadets,eponymous,contests,broadly,oxide,courtyard,frigate,directory,apex,outline,regency,chiefly,patrols,secretariat,cliffs,residency,privy,armament,australians,dorset,geometric,genetics,scholarships,fundraising,flats,demographic,multimedia,captained,documentaries,updates,canvas,blockade,guerrilla,songwriting,administrators,intake,drought,implementing,fraction,cannes,refusal,inscribed,meditation,announcing,exported,ballots,formula_3,curator,basel,arches,flour,subordinate,confrontation,gravel,simplified,berkshire,patriotic,tuition,employing,servers,castile,posting,combinations,discharged,miniature,mutations,constellation,incarnation,ideals,necessity,granting,ancestral,crowds,pioneered,mormon,methodology,rama,indirect,complexes,bavarian,patrons,uttar,skeleton,bollywood,flemish,viable,bloc,breeds,triggered,sustainability,tailed,referenced,comply,takeover,latvian,homestead,platoon,communal,nationality,excavated,targeting,sundays,posed,physicist,turret,endowment,marginal,dispatched,commentators,renovations,attachment,collaborations,ridges,barriers,obligations,shareholders,prof.,defenses,presided,rite,backgrounds,arbitrary,affordable,gloucestershire,thirteenth,inlet,miniseries,possesses,detained,pressures,subscription,realism,solidarity,proto,postgraduate,noun,burmese,abundance,homage,reasoning,anterior,robust,fencing,shifting,vowels,garde,profitable,loch,anchored,coastline,samoa,terminology,prostitution,magistrate,venezuelan,speculated,regulate,fixture,colonists,digit,induction,manned,expeditionary,computational,centennial,principally,vein,preserving,engineered,numerical,cancellation,conferred,continually,borne,seeded,advertisement,unanimously,treaties,infections,ions,sensors,lowered,amphibious,lava,fourteenth,bahrain,niagara,nicaragua,squares,congregations,26th,periodic,proprietary,1860s,contributors,seller,overs,emission,procession,presumed,illustrator,zinc,gases,tens,applicable,stretches,reproductive,sixteenth,apparatus,accomplishments,canoe,guam,oppose,recruitment,accumulated,limerick,namibia,staging,remixes,ordnance,uncertainty,pedestrian,temperate,treason,deposited,registry,cerambycidae,attracting,lankan,reprinted,shipbuilding,homosexuality,neurons,eliminating,1900s,resume,ministries,beneficial,blackpool,surplus,northampton,licenses,constructing,announcer,standardized,alternatives,taipei,inadequate,failures,yields,medalist,titular,obsolete,torah,burlington,predecessors,lublin,retailers,castles,depiction,issuing,gubernatorial,propulsion,tiles,damascus,discs,alternating,pomerania,peasant,tavern,redesignated,27th,illustration,focal,mans,codex,specialists,productivity,antiquity,controversies,promoter,pits,companions,behaviors,lyrical,prestige,creativity,swansea,dramas,approximate,feudal,tissues,crude,campaigned,unprecedented,chancel,amendments,surroundings,allegiance,exchanges,align,firmly,optimal,commenting,reigning,landings,obscure,1850s,contemporaries,paternal,devi,endurance,communes,incorporation,denominations,exchanged,routing,resorts,amnesty,slender,explores,suppression,heats,pronunciation,centred,coupe,stirling,freelance,treatise,linguistics,laos,informs,discovering,pillars,encourages,halted,robots,definitive,maturity,tuberculosis,venetian,silesian,unchanged,originates,mali,lincolnshire,quotes,seniors,premise,contingent,distribute,danube,gorge,logging,dams,curling,seventeenth,specializes,wetlands,deities,assess,thickness,rigid,culminated,utilities,substrate,insignia,nile,assam,shri,currents,suffrage,canadians,mortar,asteroid,bosnian,discoveries,enzymes,sanctioned,replica,hymn,investigators,tidal,dominate,derivatives,converting,leinster,verbs,honoured,criticisms,dismissal,discrete,masculine,reorganization,unlimited,wurttemberg,sacks,allocation,bahn,jurisdictions,participates,lagoon,famine,communion,culminating,surveyed,shortage,cables,intersects,cassette,foremost,adopting,solicitor,outright,bihar,reissued,farmland,dissertation,turnpike,baton,photographed,christchurch,kyoto,finances,rails,histories,linebacker,kilkenny,accelerated,dispersed,handicap,absorption,rancho,ceramic,captivity,cites,font,weighed,mater,utilize,bravery,extract,validity,slovenian,seminars,discourse,ranged,duel,ironically,warships,sega,temporal,surpassed,prolonged,recruits,northumberland,greenland,contributes,patented,eligibility,unification,discusses,reply,translates,beirut,relies,torque,northward,reviewers,monastic,accession,neural,tramway,heirs,sikh,subscribers,amenities,taliban,audit,rotterdam,wagons,kurdish,favoured,combustion,meanings,persia,browser,diagnostic,niger,formula_4,denomination,dividing,parameter,branding,badminton,leningrad,sparked,hurricanes,beetles,propeller,mozambique,refined,diagram,exhaust,vacated,readings,markers,reconciliation,determines,concurrent,imprint,primera,organism,demonstrating,filmmakers,vanderbilt,affiliates,traction,evaluated,defendants,megachile,investigative,zambia,assassinated,rewarded,probable,staffordshire,foreigners,directorate,nominees,consolidation,commandant,reddish,differing,unrest,drilling,bohemia,resembling,instrumentation,considerations,haute,promptly,variously,dwellings,clans,tablet,enforced,cockpit,semifinal,hussein,prisons,ceylon,emblem,monumental,phrases,correspond,crossover,outlined,characterised,acceleration,caucus,crusade,protested,composing,rajasthan,habsburg,rhythmic,interception,inherent,cooled,ponds,spokesperson,gradual,consultation,kuala,globally,suppressed,builders,avengers,suffix,integer,enforce,fibers,unionist,proclamation,uncovered,infrared,adapt,eisenhower,utilizing,captains,stretched,observing,assumes,prevents,analyses,saxophone,caucasus,notices,villains,dartmouth,mongol,hostilities,stretching,veterinary,lenses,texture,prompting,overthrow,excavation,islanders,masovian,battleship,biographer,replay,degradation,departing,luftwaffe,fleeing,oversight,immigrated,serbs,fishermen,strengthening,respiratory,italians,denotes,radial,escorted,motif,wiltshire,expresses,accessories,reverted,establishments,inequality,protocols,charting,famously,satirical,entirety,trench,friction,atletico,sampling,subset,weekday,upheld,sharply,correlation,incorrect,mughal,travelers,hasan,earnings,offset,evaluate,specialised,recognizing,flexibility,nagar,postseason,algebraic,capitalism,crystals,melodies,polynomial,racecourse,defences,austro,wembley,attracts,anarchist,resurrection,reviewing,decreasing,prefix,ratified,mutation,displaying,separating,restoring,assemblies,ordinance,priesthood,cruisers,appoint,moldova,imports,directive,epidemic,militant,senegal,signaling,restriction,critique,retrospective,nationalists,undertake,sioux,canals,algerian,redesigned,philanthropist,depict,conceptual,turbines,intellectuals,eastward,applicants,contractors,vendors,undergone,namesake,ensured,tones,substituted,hindwings,arrests,tombs,transitional,principality,reelection,taiwanese,cavity,manifesto,broadcasters,spawned,thoroughbred,identities,generators,proposes,hydroelectric,johannesburg,cortex,scandinavian,killings,aggression,boycott,catalyst,physiology,fifteenth,waterfront,chromosome,organist,costly,calculation,cemeteries,flourished,recognise,juniors,merging,disciples,ashore,workplace,enlightenment,diminished,debated,hailed,podium,educate,mandated,distributor,litre,electromagnetic,flotilla,estuary,peterborough,staircase,selections,melodic,confronts,wholesale,integrate,intercepted,catalonia,unite,immense,palatinate,switches,earthquakes,occupational,successors,praising,concluding,faculties,firstly,overhaul,empirical,metacritic,inauguration,evergreen,laden,winged,philosophers,amalgamated,geoff,centimeters,napoleonic,upright,planting,brewing,fined,sensory,migrants,wherein,inactive,headmaster,warwickshire,siberia,terminals,denounced,academia,divinity,bilateral,clive,omitted,peerage,relics,apartheid,syndicate,fearing,fixtures,desirable,dismantled,ethnicity,valves,biodiversity,aquarium,ideological,visibility,creators,analyzed,tenant,balkan,postwar,supplier,smithsonian,risen,morphology,digits,bohemian,wilmington,vishnu,demonstrates,aforementioned,biographical,mapped,khorasan,phosphate,presentations,ecosystem,processors,calculations,mosaic,clashes,penned,recalls,coding,angular,lattice,macau,accountability,extracted,pollen,therapeutic,overlap,violinist,deposed,candidacy,infants,covenant,bacterial,restructuring,dungeons,ordination,conducts,builds,invasive,customary,concurrently,relocation,cello,statutes,borneo,entrepreneurs,sanctions,packet,rockefeller,piedmont,comparisons,waterfall,receptions,glacial,surge,signatures,alterations,advertised,enduring,somali,botanist,100th,canonical,motifs,longitude,circulated,alloy,indirectly,margins,preserves,internally,besieged,shale,peripheral,drained,baseman,reassigned,tobago,soloist,socio,grazing,contexts,roofs,portraying,ottomans,shrewsbury,noteworthy,lamps,supplying,beams,qualifier,portray,greenhouse,stronghold,hitter,rites,cretaceous,urging,derive,nautical,aiming,fortunes,verde,donors,reliance,exceeding,exclusion,exercised,simultaneous,continents,guiding,pillar,gradient,poznan,eruption,clinics,moroccan,indicator,trams,piers,parallels,fragment,teatro,potassium,satire,compressed,businessmen,influx,seine,perspectives,shelters,decreases,mounting,formula_5,confederacy,equestrian,expulsion,mayors,liberia,resisted,affinity,shrub,unexpectedly,stimulus,amtrak,deported,perpendicular,statesman,wharf,storylines,romanesque,weights,surfaced,interceptions,dhaka,crambidae,orchestras,rwanda,conclude,constitutes,subsidiaries,admissions,prospective,shear,bilingual,campaigning,presiding,domination,commemorative,trailing,confiscated,petrol,acquisitions,polymer,onlyinclude,chloride,elevations,resolutions,hurdles,pledged,likelihood,objected,erect,encoding,databases,aristotle,hindus,marshes,bowled,ministerial,grange,acronym,annexation,squads,ambient,pilgrims,botany,sofla,astronomer,planetary,descending,bestowed,ceramics,diplomacy,metabolism,colonization,potomac,africans,engraved,recycling,commitments,resonance,disciplinary,jamaican,narrated,spectral,tipperary,waterford,stationary,arbitration,transparency,threatens,crossroads,slalom,oversee,centenary,incidence,economies,livery,moisture,newsletter,autobiographical,bhutan,propelled,dependence,moderately,adobe,barrels,subdivisions,outlook,labelled,stratford,arising,diaspora,barony,automobiles,ornamental,slated,norms,primetime,generalized,analysts,vectors,libyan,yielded,certificates,rooted,vernacular,belarusian,marketplace,prediction,fairfax,malawi,viruses,wooded,demos,mauritius,prosperous,coincided,liberties,huddersfield,ascent,warnings,hinduism,glucose,pulitzer,unused,filters,illegitimate,acquitted,protestants,canopy,staple,psychedelic,winding,abbas,pathways,cheltenham,lagos,niche,invaders,proponents,barred,conversely,doncaster,recession,embraced,rematch,concession,emigration,upgrades,bowls,tablets,remixed,loops,kensington,shootout,monarchs,organizers,harmful,punjabi,broadband,exempt,neolithic,profiles,portrays,parma,cyrillic,quasi,attested,regimental,revive,torpedoes,heidelberg,rhythms,spherical,denote,hymns,icons,theologian,qaeda,exceptionally,reinstated,comune,playhouse,lobbying,grossing,viceroy,delivers,visually,armistice,utrecht,syllable,vertices,analogous,annex,refurbished,entrants,knighted,disciple,rhetoric,detailing,inactivated,ballads,algae,intensified,favourable,sanitation,receivers,pornography,commemorated,cannons,entrusted,manifold,photographers,pueblo,textiles,steamer,myths,marquess,onward,liturgical,romney,uzbekistan,consistency,denoted,hertfordshire,convex,hearings,sulfur,universidad,podcast,selecting,emperors,arises,justices,1840s,mongolian,exploited,termination,digitally,infectious,sedan,symmetric,penal,illustrate,formulation,attribute,problematic,modular,inverse,berth,searches,rutgers,leicestershire,enthusiasts,lockheed,upwards,transverse,accolades,backward,archaeologists,crusaders,nuremberg,defects,ferries,vogue,containers,openings,transporting,separates,lumpur,purchases,attain,wichita,topology,woodlands,deleted,periodically,syntax,overturned,musicals,corp.,strasbourg,instability,nationale,prevailing,cache,marathi,versailles,unmarried,grains,straits,antagonist,segregation,assistants,d'etat,contention,dictatorship,unpopular,motorcycles,criterion,analytical,salzburg,militants,hanged,worcestershire,emphasize,paralympic,erupted,convinces,offences,oxidation,nouns,populace,atari,spanned,hazardous,educators,playable,births,baha'i,preseason,generates,invites,meteorological,handbook,foothills,enclosure,diffusion,mirza,convergence,geelong,coefficient,connector,formula_6,cylindrical,disasters,pleaded,knoxville,contamination,compose,libertarian,arrondissement,franciscan,intercontinental,susceptible,initiation,malaria,unbeaten,consonants,waived,saloon,popularized,estadio,pseudo,interdisciplinary,transports,transformers,carriages,bombings,revolves,ceded,collaborator,celestial,exemption,colchester,maltese,oceanic,ligue,crete,shareholder,routed,depictions,ridden,advisors,calculate,lending,guangzhou,simplicity,newscast,scheduling,snout,eliot,undertaking,armenians,nottinghamshire,whitish,consulted,deficiency,salle,cinemas,superseded,rigorous,kerman,convened,landowners,modernization,evenings,pitches,conditional,scandinavia,differed,formulated,cyclists,swami,guyana,dunes,electrified,appalachian,abdomen,scenarios,prototypes,sindh,consonant,adaptive,boroughs,wolverhampton,modelling,cylinders,amounted,minimize,ambassadors,lenin,settler,coincide,approximation,grouping,murals,bullying,registers,rumours,engagements,energetic,vertex,annals,bordering,geologic,yellowish,runoff,converts,allegheny,facilitated,saturdays,colliery,monitored,rainforest,interfaces,geographically,impaired,prevalence,joachim,paperback,slowed,shankar,distinguishing,seminal,categorized,authorised,auspices,bandwidth,asserts,rebranded,balkans,supplemented,seldom,weaving,capsule,apostles,populous,monmouth,payload,symphonic,densely,shoreline,managerial,masonry,antioch,averages,textbooks,royalist,coliseum,tandem,brewers,diocesan,posthumous,walled,incorrectly,distributions,ensued,reasonably,graffiti,propagation,automation,harmonic,augmented,middleweight,limbs,elongated,landfall,comparatively,literal,grossed,koppen,wavelength,1830s,cerebral,boasts,congestion,physiological,practitioner,coasts,cartoonist,undisclosed,frontal,launches,burgundy,qualifiers,imposing,stade,flanked,assyrian,raided,multiplayer,montane,chesapeake,pathology,drains,vineyards,intercollegiate,semiconductor,grassland,convey,citations,predominant,rejects,benefited,yahoo,graphs,busiest,encompassing,hamlets,explorers,suppress,minors,graphical,calculus,sediment,intends,diverted,mainline,unopposed,cottages,initiate,alumnus,towed,autism,forums,darlington,modernist,oxfordshire,lectured,capitalist,suppliers,panchayat,actresses,foundry,southbound,commodity,wesleyan,divides,palestinians,luton,caretaker,nobleman,mutiny,organizer,preferences,nomenclature,splits,unwilling,offenders,timor,relying,halftime,semitic,arithmetic,milestone,jesuits,arctiidae,retrieved,consuming,contender,edged,plagued,inclusive,transforming,khmer,federally,insurgents,distributing,amherst,rendition,prosecutors,viaduct,disqualified,kabul,liturgy,prevailed,reelected,instructors,swimmers,aperture,churchyard,interventions,totals,darts,metropolis,fuels,fluent,northbound,correctional,inflicted,barrister,realms,culturally,aristocratic,collaborating,emphasizes,choreographer,inputs,ensembles,humboldt,practised,endowed,strains,infringement,archaeologist,congregational,magna,relativity,efficiently,proliferation,mixtape,abruptly,regeneration,commissioning,yukon,archaic,reluctantly,retailer,northamptonshire,universally,crossings,boilers,nickelodeon,revue,abbreviation,retaliation,scripture,routinely,medicinal,benedictine,kenyan,retention,deteriorated,glaciers,apprenticeship,coupling,researched,topography,entrances,anaheim,pivotal,compensate,arched,modify,reinforce,dusseldorf,journeys,motorsport,conceded,sumatra,spaniards,quantitative,loire,cinematography,discarded,botswana,morale,engined,zionist,philanthropy,sainte,fatalities,cypriot,motorsports,indicators,pricing,institut,bethlehem,implicated,gravitational,differentiation,rotor,thriving,precedent,ambiguous,concessions,forecast,conserved,fremantle,asphalt,landslide,middlesbrough,formula_7,humidity,overseeing,chronological,diaries,multinational,crimean,turnover,improvised,youths,declares,tasmanian,canadiens,fumble,refinery,weekdays,unconstitutional,upward,guardians,brownish,imminent,hamas,endorsement,naturalist,martyrs,caledonia,chords,yeshiva,reptiles,severity,mitsubishi,fairs,installment,substitution,repertory,keyboardist,interpreter,silesia,noticeable,rhineland,transmit,inconsistent,booklet,academies,epithet,pertaining,progressively,aquatics,scrutiny,prefect,toxicity,rugged,consume,o'donnell,evolve,uniquely,cabaret,mediated,landowner,transgender,palazzo,compilations,albuquerque,induce,sinai,remastered,efficacy,underside,analogue,specify,possessing,advocating,compatibility,liberated,greenville,mecklenburg,header,memorials,sewage,rhodesia,1800s,salaries,atoll,coordinating,partisans,repealed,amidst,subjective,optimization,nectar,evolving,exploits,madhya,styling,accumulation,raion,postage,responds,buccaneers,frontman,brunei,choreography,coated,kinetic,sampled,inflammatory,complementary,eclectic,norte,vijay,a.k.a,mainz,casualty,connectivity,laureate,franchises,yiddish,reputed,unpublished,economical,periodicals,vertically,bicycles,brethren,capacities,unitary,archeological,tehsil,domesday,wehrmacht,justification,angered,mysore,fielded,abuses,nutrients,ambitions,taluk,battleships,symbolism,superiority,neglect,attendees,commentaries,collaborators,predictions,yorker,breeders,investing,libretto,informally,coefficients,memorandum,pounder,collingwood,tightly,envisioned,arbor,mistakenly,captures,nesting,conflicting,enhancing,streetcar,manufactures,buckinghamshire,rewards,commemorating,stony,expenditure,tornadoes,semantic,relocate,weimar,iberian,sighted,intending,ensign,beverages,expectation,differentiate,centro,utilizes,saxophonist,catchment,transylvania,ecosystems,shortest,sediments,socialists,ineffective,kapoor,formidable,heroine,guantanamo,prepares,scattering,pamphlet,verified,elector,barons,totaling,shrubs,pyrenees,amalgamation,mutually,longitudinal,comte,negatively,masonic,envoy,sexes,akbar,mythical,tonga,bishopric,assessments,malaya,warns,interiors,reefs,reflections,neutrality,musically,nomadic,waterways,provence,collaborate,scaled,adulthood,emerges,euros,optics,incentives,overland,periodical,liege,awarding,realization,slang,affirmed,schooner,hokkaido,czechoslovak,protectorate,undrafted,disagreed,commencement,electors,spruce,swindon,fueled,equatorial,inventions,suites,slovene,backdrop,adjunct,energies,remnant,inhabit,alliances,simulcast,reactors,mosques,travellers,outfielder,plumage,migratory,benin,experimented,fibre,projecting,drafting,laude,evidenced,northernmost,indicted,directional,replication,croydon,comedies,jailed,organizes,devotees,reservoirs,turrets,originate,economists,songwriters,junta,trenches,mounds,proportions,comedic,apostle,azerbaijani,farmhouse,resembled,disrupted,playback,mixes,diagonal,relevance,govern,programmer,gdansk,maize,soundtracks,tendencies,mastered,impacted,believers,kilometre,intervene,chairperson,aerodrome,sails,subsidies,ensures,aesthetics,congresses,ratios,sardinia,southernmost,functioned,controllers,downward,randomly,distortion,regents,palatine,disruption,spirituality,vidhan,tracts,compiler,ventilation,anchorage,symposium,assert,pistols,excelled,avenues,convoys,moniker,constructions,proponent,phased,spines,organising,schleswig,policing,campeonato,mined,hourly,croix,lucrative,authenticity,haitian,stimulation,burkina,espionage,midfield,manually,staffed,awakening,metabolic,biographies,entrepreneurship,conspicuous,guangdong,preface,subgroup,mythological,adjutant,feminism,vilnius,oversees,honourable,tripoli,stylized,kinase,societe,notoriety,altitudes,configurations,outward,transmissions,announces,auditor,ethanol,clube,nanjing,mecca,haifa,blogs,postmaster,paramilitary,depart,positioning,potent,recognizable,spire,brackets,remembrance,overlapping,turkic,articulated,scientology,operatic,deploy,readiness,biotechnology,restrict,cinematographer,inverted,synonymous,administratively,westphalia,commodities,replaces,downloads,centralized,munitions,preached,sichuan,fashionable,implementations,matrices,hiv/aids,loyalist,luzon,celebrates,hazards,heiress,mercenaries,synonym,creole,ljubljana,technician,auditioned,technicians,viewpoint,wetland,mongols,princely,sharif,coating,dynasties,southward,doubling,formula_8,mayoral,harvesting,conjecture,goaltender,oceania,spokane,welterweight,bracket,gatherings,weighted,newscasts,mussolini,affiliations,disadvantage,vibrant,spheres,sultanate,distributors,disliked,establishes,marches,drastically,yielding,jewellery,yokohama,vascular,airlift,canons,subcommittee,repression,strengths,graded,outspoken,fused,pembroke,filmography,redundant,fatigue,repeal,threads,reissue,pennant,edible,vapor,corrections,stimuli,commemoration,dictator,anand,secession,amassed,orchards,pontifical,experimentation,greeted,bangor,forwards,decomposition,quran,trolley,chesterfield,traverse,sermons,burials,skier,climbs,consultants,petitioned,reproduce,parted,illuminated,kurdistan,reigned,occupants,packaged,geometridae,woven,regulating,protagonists,crafted,affluent,clergyman,consoles,migrant,supremacy,attackers,caliph,defect,convection,rallies,huron,resin,segunda,quota,warship,overseen,criticizing,shrines,glamorgan,lowering,beaux,hampered,invasions,conductors,collects,bluegrass,surrounds,substrates,perpetual,chronology,pulmonary,executions,crimea,compiling,noctuidae,battled,tumors,minsk,novgorod,serviced,yeast,computation,swamps,theodor,baronetcy,salford,uruguayan,shortages,odisha,siberian,novelty,cinematic,invitational,decks,dowager,oppression,bandits,appellate,state-of-the-art,clade,palaces,signalling,galaxies,industrialist,tensor,learnt,incurred,magistrates,binds,orbits,ciudad,willingness,peninsular,basins,biomedical,shafts,marlborough,bournemouth,withstand,fitzroy,dunedin,variance,steamship,integrating,muscular,fines,akron,bulbophyllum,malmo,disclosed,cornerstone,runways,medicines,twenty20,gettysburg,progresses,frigates,bodied,transformations,transforms,helens,modelled,versatile,regulator,pursuits,legitimacy,amplifier,scriptures,voyages,examines,presenters,octagonal,poultry,formula_9,anatolia,computed,migrate,directorial,hybrids,localized,preferring,guggenheim,persisted,grassroots,inflammation,fishery,otago,vigorous,professions,instructional,inexpensive,insurgency,legislators,sequels,surnames,agrarian,stainless,nairobi,minas,forerunner,aristocracy,transitions,sicilian,showcased,doses,hiroshima,summarized,gearbox,emancipation,limitation,nuclei,seismic,abandonment,dominating,appropriations,occupations,electrification,hilly,contracting,exaggerated,entertainer,kazan,oricon,cartridges,characterization,parcel,maharaja,exceeds,aspiring,obituary,flattened,contrasted,narration,replies,oblique,outpost,fronts,arranger,talmud,keynes,doctrines,endured,confesses,fortification,supervisors,kilometer,academie,jammu,bathurst,piracy,prostitutes,navarre,cumulative,cruises,lifeboat,twinned,radicals,interacting,expenditures,wexford,libre,futsal,curated,clockwise,colloquially,procurement,immaculate,lyricist,enhancement,porcelain,alzheimer,highlighting,judah,disagreements,storytelling,sheltered,wroclaw,vaudeville,contrasts,neoclassical,compares,contrasting,deciduous,francaise,descriptive,cyclic,reactive,antiquities,meiji,repeats,creditors,forcibly,newmarket,picturesque,impending,uneven,bison,raceway,solvent,ecumenical,optic,professorship,harvested,waterway,banjo,pharaoh,geologist,scanning,dissent,recycled,unmanned,retreating,gospels,aqueduct,branched,tallinn,groundbreaking,syllables,hangar,designations,procedural,craters,cabins,encryption,anthropologist,montevideo,outgoing,inverness,chattanooga,fascism,calais,chapels,groundwater,downfall,misleading,robotic,tortricidae,pixel,handel,prohibit,crewe,renaming,reprised,kickoff,leftist,spaced,integers,causeway,pines,authorship,organise,ptolemy,accessibility,virtues,lesions,iroquois,qur'an,atheist,synthesized,biennial,confederates,dietary,skaters,stresses,tariff,koreans,intercity,republics,quintet,baroness,naive,amplitude,insistence,tbilisi,residues,grammatical,diversified,egyptians,accompaniment,vibration,repository,mandal,topological,distinctions,coherent,invariant,batters,nuevo,internationals,implements,follower,bahia,widened,independents,cantonese,totaled,guadalajara,wolverines,befriended,muzzle,surveying,hungarians,medici,deportation,rayon,approx,recounts,attends,clerical,hellenic,furnished,alleging,soluble,systemic,gallantry,bolshevik,intervened,hostel,gunpowder,specialising,stimulate,leiden,removes,thematic,floral,bafta,printers,conglomerate,eroded,analytic,successively,lehigh,thessaloniki,kilda,clauses,ascended,nehru,scripted,tokugawa,competence,diplomats,exclude,consecration,freedoms,assaults,revisions,blacksmith,textual,sparse,concacaf,slain,uploaded,enraged,whaling,guise,stadiums,debuting,dormitory,cardiovascular,yunnan,dioceses,consultancy,notions,lordship,archdeacon,collided,medial,airfields,garment,wrestled,adriatic,reversal,refueling,verification,jakob,horseshoe,intricate,veracruz,sarawak,syndication,synthesizer,anthologies,stature,feasibility,guillaume,narratives,publicized,antrim,intermittent,constituents,grimsby,filmmaking,doping,unlawful,nominally,transmitting,documenting,seater,internationale,ejected,steamboat,alsace,boise,ineligible,geared,vassal,mustered,ville,inline,pairing,eurasian,kyrgyzstan,barnsley,reprise,stereotypes,rushes,conform,firefighters,deportivo,revolutionaries,rabbis,concurrency,charters,sustaining,aspirations,algiers,chichester,falkland,morphological,systematically,volcanoes,designate,artworks,reclaimed,jurist,anglia,resurrected,chaotic,feasible,circulating,simulated,environmentally,confinement,adventist,harrisburg,laborers,ostensibly,universiade,pensions,influenza,bratislava,octave,refurbishment,gothenburg,putin,barangay,annapolis,breaststroke,illustrates,distorted,choreographed,promo,emphasizing,stakeholders,descends,exhibiting,intrinsic,invertebrates,evenly,roundabout,salts,formula_10,strata,inhibition,branching,stylistic,rumored,realises,mitochondrial,commuted,adherents,logos,bloomberg,telenovela,guineas,charcoal,engages,winery,reflective,siena,cambridgeshire,ventral,flashback,installing,engraving,grasses,traveller,rotated,proprietor,nationalities,precedence,sourced,trainers,cambodian,reductions,depleted,saharan,classifications,biochemistry,plaintiffs,arboretum,humanist,fictitious,aleppo,climates,bazaar,his/her,homogeneous,multiplication,moines,indexed,linguist,skeletal,foliage,societal,differentiated,informing,mammal,infancy,archival,cafes,malls,graeme,musee,schizophrenia,fargo,pronouns,derivation,descend,ascending,terminating,deviation,recaptured,confessions,weakening,tajikistan,bahadur,pasture,b/hip,donegal,supervising,sikhs,thinkers,euclidean,reinforcement,friars,portage,fuscous,lucknow,synchronized,assertion,choirs,privatization,corrosion,multitude,skyscraper,royalties,ligament,usable,spores,directs,clashed,stockport,fronted,dependency,contiguous,biologist,backstroke,powerhouse,frescoes,phylogenetic,welding,kildare,gabon,conveyed,augsburg,severn,continuum,sahib,lille,injuring,passeriformesfamily,succeeds,translating,unitarian,startup,turbulent,outlying,philanthropic,stanislaw,idols,claremont,conical,haryana,armagh,blended,implicit,conditioned,modulation,rochdale,labourers,coinage,shortstop,potsdam,gears,obesity,bestseller,advisers,bouts,comedians,jozef,lausanne,taxonomic,correlated,columbian,marne,indications,psychologists,libel,edict,beaufort,disadvantages,renal,finalized,racehorse,unconventional,disturbances,falsely,zoology,adorned,redesign,executing,narrower,commended,appliances,stalls,resurgence,saskatoon,miscellaneous,permitting,epoch,formula_11,cumbria,forefront,vedic,eastenders,disposed,supermarkets,rower,inhibitor,magnesium,colourful,yusuf,harrow,formulas,centrally,balancing,ionic,nocturnal,consolidate,ornate,raiding,charismatic,accelerate,nominate,residual,dhabi,commemorates,attribution,uninhabited,mindanao,atrocities,genealogical,romani,applicant,enactment,abstraction,trough,pulpit,minuscule,misconduct,grenades,timely,supplements,messaging,curvature,ceasefire,telangana,susquehanna,braking,redistribution,shreveport,neighbourhoods,gregorian,widowed,khuzestan,empowerment,scholastic,evangelist,peptide,topical,theorist,historia,thence,sudanese,museo,jurisprudence,masurian,frankish,headlined,recounted,netball,petitions,tolerant,hectare,truncated,southend,methane,captives,reigns,massif,subunit,acidic,weightlifting,footballers,sabah,britannia,tunisian,segregated,sawmill,withdrawing,unpaid,weaponry,somme,perceptions,unicode,alcoholism,durban,wrought,waterfalls,jihad,auschwitz,upland,eastbound,adjective,anhalt,evaluating,regimes,guildford,reproduced,pamphlets,hierarchical,maneuvers,hanoi,fabricated,repetition,enriched,arterial,replacements,tides,globalization,adequately,westbound,satisfactory,fleets,phosphorus,lastly,neuroscience,anchors,xinjiang,membranes,improvisation,shipments,orthodoxy,submissions,bolivian,mahmud,ramps,leyte,pastures,outlines,flees,transmitters,fares,sequential,stimulated,novice,alternately,symmetrical,breakaway,layered,baronets,lizards,blackish,edouard,horsepower,penang,principals,mercantile,maldives,overwhelmingly,hawke,rallied,prostate,conscription,juveniles,maccabi,carvings,strikers,sudbury,spurred,improves,lombardy,macquarie,parisian,elastic,distillery,shetland,humane,brentford,wrexham,warehouses,routines,encompassed,introductory,isfahan,instituto,palais,revolutions,sporadic,impoverished,portico,fellowships,speculative,enroll,dormant,adhere,fundamentally,sculpted,meritorious,template,upgrading,reformer,rectory,uncredited,indicative,creeks,galveston,radically,hezbollah,firearm,educating,prohibits,trondheim,locus,refit,headwaters,screenings,lowlands,wasps,coarse,attaining,sedimentary,perished,pitchfork,interned,cerro,stagecoach,aeronautical,liter,transitioned,haydn,inaccurate,legislatures,bromwich,knesset,spectroscopy,butte,asiatic,degraded,concordia,catastrophic,lobes,wellness,pensacola,periphery,hapoel,theta,horizontally,freiburg,liberalism,pleas,durable,warmian,offenses,mesopotamia,shandong,unsuitable,hospitalized,appropriately,phonetic,encompass,conversions,observes,illnesses,breakout,assigns,crowns,inhibitors,nightly,manifestation,fountains,maximize,alphabetical,sloop,expands,newtown,widening,gaddafi,commencing,camouflage,footprint,tyrol,barangays,universite,highlanders,budgets,query,lobbied,westchester,equator,stipulated,pointe,distinguishes,allotted,embankment,advises,storing,loyalists,fourier,rehearsals,starvation,gland,rihanna,tubular,expressive,baccalaureate,intersections,revered,carbonate,eritrea,craftsmen,cosmopolitan,sequencing,corridors,shortlisted,bangladeshi,persians,mimic,parades,repetitive,recommends,flanks,promoters,incompatible,teaming,ammonia,greyhound,solos,improper,legislator,newsweek,recurrent,vitro,cavendish,eireann,crises,prophets,mandir,strategically,guerrillas,formula_12,ghent,contenders,equivalence,drone,sociological,hamid,castes,statehood,aland,clinched,relaunched,tariffs,simulations,williamsburg,rotate,mediation,smallpox,harmonica,lodges,lavish,restrictive,o'sullivan,detainees,polynomials,echoes,intersecting,learners,elects,charlemagne,defiance,epsom,liszt,facilitating,absorbing,revelations,padua,pieter,pious,penultimate,mammalian,montenegrin,supplementary,widows,aromatic,croats,roanoke,trieste,legions,subdistrict,babylonian,grasslands,volga,violently,sparsely,oldies,telecommunication,respondents,quarries,downloadable,commandos,taxpayer,catalytic,malabar,afforded,copying,declines,nawab,junctions,assessing,filtering,classed,disused,compliant,christoph,gottingen,civilizations,hermitage,caledonian,whereupon,ethnically,springsteen,mobilization,terraces,indus,excel,zoological,enrichment,simulate,guitarists,registrar,cappella,invoked,reused,manchu,configured,uppsala,genealogy,mergers,casts,curricular,rebelled,subcontinent,horticultural,parramatta,orchestrated,dockyard,claudius,decca,prohibiting,turkmenistan,brahmin,clandestine,obligatory,elaborated,parasitic,helix,constraint,spearheaded,rotherham,eviction,adapting,albans,rescues,sociologist,guiana,convicts,occurrences,kamen,antennas,asturias,wheeled,sanitary,deterioration,trier,theorists,baseline,announcements,valea,planners,factual,serialized,serials,bilbao,demoted,fission,jamestown,cholera,alleviate,alteration,indefinite,sulfate,paced,climatic,valuation,artisans,proficiency,aegean,regulators,fledgling,sealing,influencing,servicemen,frequented,cancers,tambon,narayan,bankers,clarified,embodied,engraver,reorganisation,dissatisfied,dictated,supplemental,temperance,ratification,puget,nutrient,pretoria,papyrus,uniting,ascribed,cores,coptic,schoolhouse,barrio,1910s,armory,defected,transatlantic,regulates,ported,artefacts,specifies,boasted,scorers,mollusks,emitted,navigable,quakers,projective,dialogues,reunification,exponential,vastly,banners,unsigned,dissipated,halves,coincidentally,leasing,purported,escorting,estimation,foxes,lifespan,inflorescence,assimilation,showdown,staunch,prologue,ligand,superliga,telescopes,northwards,keynote,heaviest,taunton,redeveloped,vocalists,podlaskie,soyuz,rodents,azores,moravian,outset,parentheses,apparel,domestically,authoritative,polymers,monterrey,inhibit,launcher,jordanian,folds,taxis,mandates,singled,liechtenstein,subsistence,marxism,ousted,governorship,servicing,offseason,modernism,prism,devout,translators,islamist,chromosomes,pitted,bedfordshire,fabrication,authoritarian,javanese,leaflets,transient,substantive,predatory,sigismund,assassinate,diagrams,arrays,rediscovered,reclamation,spawning,fjord,peacekeeping,strands,fabrics,highs,regulars,tirana,ultraviolet,athenian,filly,barnet,naacp,nueva,favourites,terminates,showcases,clones,inherently,interpreting,bjorn,finely,lauded,unspecified,chola,pleistocene,insulation,antilles,donetsk,funnel,nutritional,biennale,reactivated,southport,primate,cavaliers,austrians,interspersed,restarted,suriname,amplifiers,wladyslaw,blockbuster,sportsman,minogue,brightness,benches,bridgeport,initiating,israelis,orbiting,newcomers,externally,scaling,transcribed,impairment,luxurious,longevity,impetus,temperament,ceilings,tchaikovsky,spreads,pantheon,bureaucracy,1820s,heraldic,villas,formula_13,galician,meath,avoidance,corresponded,headlining,connacht,seekers,rappers,solids,monograph,scoreless,opole,isotopes,himalayas,parodies,garments,microscopic,republished,havilland,orkney,demonstrators,pathogen,saturated,hellenistic,facilitates,aerodynamic,relocating,indochina,laval,astronomers,bequeathed,administrations,extracts,nagoya,torquay,demography,medicare,ambiguity,renumbered,pursuant,concave,syriac,electrode,dispersal,henan,bialystok,walsall,crystalline,puebla,janata,illumination,tianjin,enslaved,coloration,championed,defamation,grille,johor,rejoin,caspian,fatally,planck,workings,appointing,institutionalized,wessex,modernized,exemplified,regatta,jacobite,parochial,programmers,blending,eruptions,insurrection,regression,indices,sited,dentistry,mobilized,furnishings,levant,primaries,ardent,nagasaki,conqueror,dorchester,opined,heartland,amman,mortally,wellesley,bowlers,outputs,coveted,orthography,immersion,disrepair,disadvantaged,curate,childless,condensed,codice_1,remodeled,resultant,bolsheviks,superfamily,saxons,2010s,contractual,rivalries,malacca,oaxaca,magnate,vertebrae,quezon,olympiad,yucatan,tyres,macro,specialization,commendation,caliphate,gunnery,exiles,excerpts,fraudulent,adjustable,aramaic,interceptor,drumming,standardization,reciprocal,adolescents,federalist,aeronautics,favorably,enforcing,reintroduced,zhejiang,refining,biplane,banknotes,accordion,intersect,illustrating,summits,classmate,militias,biomass,massacres,epidemiology,reworked,wrestlemania,nantes,auditory,taxon,elliptical,chemotherapy,asserting,avoids,proficient,airmen,yellowstone,multicultural,alloys,utilization,seniority,kuyavian,huntsville,orthogonal,bloomington,cultivars,casimir,internment,repulsed,impedance,revolving,fermentation,parana,shutout,partnering,empowered,islamabad,polled,classify,amphibians,greyish,obedience,4x100,projectile,khyber,halfback,relational,d'ivoire,synonyms,endeavour,padma,customized,mastery,defenceman,berber,purge,interestingly,covent,promulgated,restricting,condemnation,hillsborough,walkers,privateer,intra,captaincy,naturalized,huffington,detecting,hinted,migrating,bayou,counterattack,anatomical,foraging,unsafe,swiftly,outdated,paraguayan,attire,masjid,endeavors,jerseys,triassic,quechua,growers,axial,accumulate,wastewater,cognition,fungal,animator,pagoda,kochi,uniformly,antibody,yerevan,hypotheses,combatants,italianate,draining,fragmentation,snowfall,formative,inversion,kitchener,identifier,additive,lucha,selects,ashland,cambrian,racetrack,trapping,congenital,primates,wavelengths,expansions,yeomanry,harcourt,wealthiest,awaited,punta,intervening,aggressively,vichy,piloted,midtown,tailored,heyday,metadata,guadalcanal,inorganic,hadith,pulses,francais,tangent,scandals,erroneously,tractors,pigment,constabulary,jiangsu,landfill,merton,basalt,astor,forbade,debuts,collisions,exchequer,stadion,roofed,flavour,sculptors,conservancy,dissemination,electrically,undeveloped,existent,surpassing,pentecostal,manifested,amend,formula_14,superhuman,barges,tunis,analytics,argyll,liquids,mechanized,domes,mansions,himalayan,indexing,reuters,nonlinear,purification,exiting,timbers,triangles,decommissioning,departmental,causal,fonts,americana,sept.,seasonally,incomes,razavi,sheds,memorabilia,rotational,terre,sutra,protege,yarmouth,grandmaster,annum,looted,imperialism,variability,liquidation,baptised,isotope,showcasing,milling,rationale,hammersmith,austen,streamlined,acknowledging,contentious,qaleh,breadth,turing,referees,feral,toulon,unofficially,identifiable,standout,labeling,dissatisfaction,jurgen,angrily,featherweight,cantons,constrained,dominates,standalone,relinquished,theologians,markedly,italics,downed,nitrate,likened,gules,craftsman,singaporean,pixels,mandela,moray,parity,departement,antigen,academically,burgh,brahma,arranges,wounding,triathlon,nouveau,vanuatu,banded,acknowledges,unearthed,stemming,authentication,byzantines,converge,nepali,commonplace,deteriorating,recalling,palette,mathematicians,greenish,pictorial,ahmedabad,rouen,validation,u.s.a.,'best,malvern,archers,converter,undergoes,fluorescent,logistical,notification,transvaal,illicit,symphonies,stabilization,worsened,fukuoka,decrees,enthusiast,seychelles,blogger,louvre,dignitaries,burundi,wreckage,signage,pinyin,bursts,federer,polarization,urbana,lazio,schism,nietzsche,venerable,administers,seton,kilograms,invariably,kathmandu,farmed,disqualification,earldom,appropriated,fluctuations,kermanshah,deployments,deformation,wheelbase,maratha,psalm,bytes,methyl,engravings,skirmish,fayette,vaccines,ideally,astrology,breweries,botanic,opposes,harmonies,irregularities,contended,gaulle,prowess,constants,aground,filipinos,fresco,ochreous,jaipur,willamette,quercus,eastwards,mortars,champaign,braille,reforming,horned,hunan,spacious,agitation,draught,specialties,flourishing,greensboro,necessitated,swedes,elemental,whorls,hugely,structurally,plurality,synthesizers,embassies,assad,contradictory,inference,discontent,recreated,inspectors,unicef,commuters,embryo,modifying,stints,numerals,communicated,boosted,trumpeter,brightly,adherence,remade,leases,restrained,eucalyptus,dwellers,planar,grooves,gainesville,daimler,anzac,szczecin,cornerback,prized,peking,mauritania,khalifa,motorized,lodging,instrumentalist,fortresses,cervical,formula_15,passerine,sectarian,researches,apprenticed,reliefs,disclose,gliding,repairing,queue,kyushu,literate,canoeing,sacrament,separatist,calabria,parkland,flowed,investigates,statistically,visionary,commits,dragoons,scrolls,premieres,revisited,subdued,censored,patterned,elective,outlawed,orphaned,leyland,richly,fujian,miniatures,heresy,plaques,countered,nonfiction,exponent,moravia,dispersion,marylebone,midwestern,enclave,ithaca,federated,electronically,handheld,microscopy,tolls,arrivals,climbers,continual,cossacks,moselle,deserts,ubiquitous,gables,forecasts,deforestation,vertebrates,flanking,drilled,superstructure,inspected,consultative,bypassed,ballast,subsidy,socioeconomic,relic,grenada,journalistic,administering,accommodated,collapses,appropriation,reclassified,foreword,porte,assimilated,observance,fragmented,arundel,thuringia,gonzaga,shenzhen,shipyards,sectional,ayrshire,sloping,dependencies,promenade,ecuadorian,mangrove,constructs,goalscorer,heroism,iteration,transistor,omnibus,hampstead,cochin,overshadowed,chieftain,scalar,finishers,ghanaian,abnormalities,monoplane,encyclopaedia,characterize,travancore,baronetage,bearers,biking,distributes,paving,christened,inspections,banco,humber,corinth,quadratic,albanians,lineages,majored,roadside,inaccessible,inclination,darmstadt,fianna,epilepsy,propellers,papacy,montagu,bhutto,sugarcane,optimized,pilasters,contend,batsmen,brabant,housemates,sligo,ascot,aquinas,supervisory,accorded,gerais,echoed,nunavut,conservatoire,carniola,quartermaster,gminas,impeachment,aquitaine,reformers,quarterfinal,karlsruhe,accelerator,coeducational,archduke,gelechiidae,seaplane,dissident,frenchman,palau,depots,hardcover,aachen,darreh,denominational,groningen,parcels,reluctance,drafts,elliptic,counters,decreed,airship,devotional,contradiction,formula_16,undergraduates,qualitative,guatemalan,slavs,southland,blackhawks,detrimental,abolish,chechen,manifestations,arthritis,perch,fated,hebei,peshawar,palin,immensely,havre,totalling,rampant,ferns,concourse,triples,elites,olympian,larva,herds,lipid,karabakh,distal,monotypic,vojvodina,batavia,multiplied,spacing,spellings,pedestrians,parchment,glossy,industrialization,dehydrogenase,patriotism,abolitionist,mentoring,elizabethan,figurative,dysfunction,abyss,constantin,middletown,stigma,mondays,gambia,gaius,israelites,renounced,nepalese,overcoming,buren,sulphur,divergence,predation,looting,iberia,futuristic,shelved,anthropological,innsbruck,escalated,clermont,entrepreneurial,benchmark,mechanically,detachments,populist,apocalyptic,exited,embryonic,stanza,readership,chiba,landlords,expansive,boniface,therapies,perpetrators,whitehall,kassel,masts,carriageway,clinch,pathogens,mazandaran,undesirable,teutonic,miocene,nagpur,juris,cantata,compile,diffuse,dynastic,reopening,comptroller,o'neal,flourish,electing,scientifically,departs,welded,modal,cosmology,fukushima,libertadores,chang'an,asean,generalization,localization,afrikaans,cricketers,accompanies,emigrants,esoteric,southwards,shutdown,prequel,fittings,innate,wrongly,equitable,dictionaries,senatorial,bipolar,flashbacks,semitism,walkway,lyrically,legality,sorbonne,vigorously,durga,samoan,karel,interchanges,patna,decider,registering,electrodes,anarchists,excursion,overthrown,gilan,recited,michelangelo,advertiser,kinship,taboo,cessation,formula_17,premiers,traversed,madurai,poorest,torneo,exerted,replicate,spelt,sporadically,horde,landscaping,razed,hindered,esperanto,manchuria,propellant,jalan,baha'is,sikkim,linguists,pandit,racially,ligands,dowry,francophone,escarpment,behest,magdeburg,mainstay,villiers,yangtze,grupo,conspirators,martyrdom,noticeably,lexical,kazakh,unrestricted,utilised,sired,inhabits,proofs,joseon,pliny,minted,buddhists,cultivate,interconnected,reuse,viability,australasian,derelict,resolving,overlooks,menon,stewardship,playwrights,thwarted,filmfare,disarmament,protections,bundles,sidelined,hypothesized,singer/songwriter,forage,netted,chancery,townshend,restructured,quotation,hyperbolic,succumbed,parliaments,shenandoah,apical,kibbutz,storeys,pastors,lettering,ukrainians,hardships,chihuahua,avail,aisles,taluka,antisemitism,assent,ventured,banksia,seamen,hospice,faroe,fearful,woreda,outfield,chlorine,transformer,tatar,panoramic,pendulum,haarlem,styria,cornice,importing,catalyzes,subunits,enamel,bakersfield,realignment,sorties,subordinates,deanery,townland,gunmen,tutelage,evaluations,allahabad,thrace,veneto,mennonite,sharia,subgenus,satisfies,puritan,unequal,gastrointestinal,ordinances,bacterium,horticulture,argonauts,adjectives,arable,duets,visualization,woolwich,revamped,euroleague,thorax,completes,originality,vasco,freighter,sardar,oratory,sects,extremes,signatories,exporting,arisen,exacerbated,departures,saipan,furlongs,d'italia,goring,dakar,conquests,docked,offshoot,okrug,referencing,disperse,netting,summed,rewritten,articulation,humanoid,spindle,competitiveness,preventive,facades,westinghouse,wycombe,synthase,emulate,fostering,abdel,hexagonal,myriad,caters,arjun,dismay,axiom,psychotherapy,colloquial,complemented,martinique,fractures,culmination,erstwhile,atrium,electronica,anarchism,nadal,montpellier,algebras,submitting,adopts,stemmed,overcame,internacional,asymmetric,gallipoli,gliders,flushing,extermination,hartlepool,tesla,interwar,patriarchal,hitherto,ganges,combatant,marred,philology,glastonbury,reversible,isthmus,undermined,southwark,gateshead,andalusia,remedies,hastily,optimum,smartphone,evade,patrolled,beheaded,dopamine,waivers,ugandan,gujarati,densities,predicting,intestinal,tentative,interstellar,kolonia,soloists,penetrated,rebellions,qeshlaq,prospered,colegio,deficits,konigsberg,deficient,accessing,relays,kurds,politburo,codified,incarnations,occupancy,cossack,metaphysical,deprivation,chopra,piccadilly,formula_18,makeshift,protestantism,alaskan,frontiers,faiths,tendon,dunkirk,durability,autobots,bonuses,coinciding,emails,gunboat,stucco,magma,neutrons,vizier,subscriptions,visuals,envisaged,carpets,smoky,schema,parliamentarian,immersed,domesticated,parishioners,flinders,diminutive,mahabharata,ballarat,falmouth,vacancies,gilded,twigs,mastering,clerics,dalmatia,islington,slogans,compressor,iconography,congolese,sanction,blends,bulgarians,moderator,outflow,textures,safeguard,trafalgar,tramways,skopje,colonialism,chimneys,jazeera,organisers,denoting,motivations,ganga,longstanding,deficiencies,gwynedd,palladium,holistic,fascia,preachers,embargo,sidings,busan,ignited,artificially,clearwater,cemented,northerly,salim,equivalents,crustaceans,oberliga,quadrangle,historiography,romanians,vaults,fiercely,incidental,peacetime,tonal,bhopal,oskar,radha,pesticides,timeslot,westerly,cathedrals,roadways,aldershot,connectors,brahmins,paler,aqueous,gustave,chromatic,linkage,lothian,specialises,aggregation,tributes,insurgent,enact,hampden,ghulam,federations,instigated,lyceum,fredrik,chairmanship,floated,consequent,antagonists,intimidation,patriarchate,warbler,heraldry,entrenched,expectancy,habitation,partitions,widest,launchers,nascent,ethos,wurzburg,lycee,chittagong,mahatma,merseyside,asteroids,yokosuka,cooperatives,quorum,redistricting,bureaucratic,yachts,deploying,rustic,phonology,chorale,cellist,stochastic,crucifixion,surmounted,confucian,portfolios,geothermal,crested,calibre,tropics,deferred,nasir,iqbal,persistence,essayist,chengdu,aborigines,fayetteville,bastion,interchangeable,burlesque,kilmarnock,specificity,tankers,colonels,fijian,quotations,enquiry,quito,palmerston,delle,multidisciplinary,polynesian,iodine,antennae,emphasised,manganese,baptists,galilee,jutland,latent,excursions,skepticism,tectonic,precursors,negligible,musique,misuse,vitoria,expressly,veneration,sulawesi,footed,mubarak,chongqing,chemically,midday,ravaged,facets,varma,yeovil,ethnographic,discounted,physicists,attache,disbanding,essen,shogunate,cooperated,waikato,realising,motherwell,pharmacology,sulfide,inward,expatriate,devoid,cultivar,monde,andean,groupings,goran,unaffected,moldovan,postdoctoral,coleophora,delegated,pronoun,conductivity,coleridge,disapproval,reappeared,microbial,campground,olsztyn,fostered,vaccination,rabbinical,champlain,milestones,viewership,caterpillar,effected,eupithecia,financier,inferred,uzbek,bundled,bandar,balochistan,mysticism,biosphere,holotype,symbolizes,lovecraft,photons,abkhazia,swaziland,subgroups,measurable,falkirk,valparaiso,ashok,discriminatory,rarity,tabernacle,flyweight,jalisco,westernmost,antiquarian,extracellular,margrave,colspan=9,midsummer,digestive,reversing,burgeoning,substitutes,medallist,khrushchev,guerre,folio,detonated,partido,plentiful,aggregator,medallion,infiltration,shaded,santander,fared,auctioned,permian,ramakrishna,andorra,mentors,diffraction,bukit,potentials,translucent,feminists,tiers,protracted,coburg,wreath,guelph,adventurer,he/she,vertebrate,pipelines,celsius,outbreaks,australasia,deccan,garibaldi,unionists,buildup,biochemical,reconstruct,boulders,stringent,barbed,wording,furnaces,pests,befriends,organises,popes,rizal,tentacles,cadre,tallahassee,punishments,occidental,formatted,mitigation,rulings,rubens,cascades,inducing,choctaw,volta,synagogues,movable,altarpiece,mitigate,practise,intermittently,encountering,memberships,earns,signify,retractable,amounting,pragmatic,wilfrid,dissenting,divergent,kanji,reconstituted,devonian,constitutions,levied,hendrik,starch,costal,honduran,ditches,polygon,eindhoven,superstars,salient,argus,punitive,purana,alluvial,flaps,inefficient,retracted,advantageous,quang,andersson,danville,binghamton,symbolize,conclave,shaanxi,silica,interpersonal,adept,frans,pavilions,lubbock,equip,sunken,limburg,activates,prosecutions,corinthian,venerated,shootings,retreats,parapet,orissa,riviere,animations,parodied,offline,metaphysics,bluffs,plume,piety,fruition,subsidized,steeplechase,shanxi,eurasia,angled,forecasting,suffragan,ashram,larval,labyrinth,chronicler,summaries,trailed,merges,thunderstorms,filtered,formula_19,advertisers,alpes,informatics,parti,constituting,undisputed,certifications,javascript,molten,sclerosis,rumoured,boulogne,hmong,lewes,breslau,notts,bantu,ducal,messengers,radars,nightclubs,bantamweight,carnatic,kaunas,fraternal,triggering,controversially,londonderry,visas,scarcity,offaly,uprisings,repelled,corinthians,pretext,kuomintang,kielce,empties,matriculated,pneumatic,expos,agile,treatises,midpoint,prehistory,oncology,subsets,hydra,hypertension,axioms,wabash,reiterated,swapped,achieves,premio,ageing,overture,curricula,challengers,subic,selangor,liners,frontline,shutter,validated,normalized,entertainers,molluscs,maharaj,allegation,youngstown,synth,thoroughfare,regionally,pillai,transcontinental,pedagogical,riemann,colonia,easternmost,tentatively,profiled,herefordshire,nativity,meuse,nucleotide,inhibits,huntingdon,throughput,recorders,conceding,domed,homeowners,centric,gabled,canoes,fringes,breeder,subtitled,fluoride,haplogroup,zionism,izmir,phylogeny,kharkiv,romanticism,adhesion,usaaf,delegations,lorestan,whalers,biathlon,vaulted,mathematically,pesos,skirmishes,heisman,kalamazoo,gesellschaft,launceston,interacts,quadruple,kowloon,psychoanalysis,toothed,ideologies,navigational,valence,induces,lesotho,frieze,rigging,undercarriage,explorations,spoof,eucharist,profitability,virtuoso,recitals,subterranean,sizeable,herodotus,subscriber,huxley,pivot,forewing,warring,boleslaw,bharatiya,suffixes,trois,percussionist,downturn,garrisons,philosophies,chants,mersin,mentored,dramatist,guilds,frameworks,thermodynamic,venomous,mehmed,assembling,rabbinic,hegemony,replicas,enlargement,claimant,retitled,utica,dumfries,metis,deter,assortment,tubing,afflicted,weavers,rupture,ornamentation,transept,salvaged,upkeep,callsign,rajput,stevenage,trimmed,intracellular,synchronization,consular,unfavorable,royalists,goldwyn,fasting,hussars,doppler,obscurity,currencies,amiens,acorn,tagore,townsville,gaussian,migrations,porta,anjou,graphite,seaport,monographs,gladiators,metrics,calligraphy,sculptural,swietokrzyskie,tolombeh,eredivisie,shoals,queries,carts,exempted,fiberglass,mirrored,bazar,progeny,formalized,mukherjee,professed,amazon.com,cathode,moreton,removable,mountaineers,nagano,transplantation,augustinian,steeply,epilogue,adapter,decisively,accelerating,mediaeval,substituting,tasman,devonshire,litres,enhancements,himmler,nephews,bypassing,imperfect,argentinian,reims,integrates,sochi,ascii,licences,niches,surgeries,fables,versatility,indra,footpath,afonso,crore,evaporation,encodes,shelling,conformity,simplify,updating,quotient,overt,firmware,umpires,architectures,eocene,conservatism,secretion,embroidery,f.c..,tuvalu,mosaics,shipwreck,prefectural,cohort,grievances,garnering,centerpiece,apoptosis,djibouti,bethesda,formula_20,shonen,richland,justinian,dormitories,meteorite,reliably,obtains,pedagogy,hardness,cupola,manifolds,amplification,steamers,familial,dumbarton,jerzy,genital,maidstone,salinity,grumman,signifies,presbytery,meteorology,procured,aegis,streamed,deletion,nuestra,mountaineering,accords,neuronal,khanate,grenoble,axles,dispatches,tokens,turku,auctions,propositions,planters,proclaiming,recommissioned,stravinsky,obverse,bombarded,waged,saviour,massacred,reformist,purportedly,resettlement,ravenna,embroiled,minden,revitalization,hikers,bridging,torpedoed,depletion,nizam,affectionately,latitudes,lubeck,spore,polymerase,aarhus,nazism,101st,buyout,galerie,diets,overflow,motivational,renown,brevet,deriving,melee,goddesses,demolish,amplified,tamworth,retake,brokerage,beneficiaries,henceforth,reorganised,silhouette,browsers,pollutants,peron,lichfield,encircled,defends,bulge,dubbing,flamenco,coimbatore,refinement,enshrined,grizzlies,capacitor,usefulness,evansville,interscholastic,rhodesian,bulletins,diamondbacks,rockers,platted,medalists,formosa,transporter,slabs,guadeloupe,disparate,concertos,violins,regaining,mandible,untitled,agnostic,issuance,hamiltonian,brampton,srpska,homology,downgraded,florentine,epitaph,kanye,rallying,analysed,grandstand,infinitely,antitrust,plundered,modernity,colspan=3|total,amphitheatre,doric,motorists,yemeni,carnivorous,probabilities,prelate,struts,scrapping,bydgoszcz,pancreatic,signings,predicts,compendium,ombudsman,apertura,appoints,rebbe,stereotypical,valladolid,clustered,touted,plywood,inertial,kettering,curving,d'honneur,housewives,grenadier,vandals,barbarossa,necked,waltham,reputedly,jharkhand,cistercian,pursues,viscosity,organiser,cloister,islet,stardom,moorish,himachal,strives,scripps,staggered,blasts,westwards,millimeters,angolan,hubei,agility,admirals,mordellistena,coincides,platte,vehicular,cordillera,riffs,schoolteacher,canaan,acoustics,tinged,reinforcing,concentrates,daleks,monza,selectively,musik,polynesia,exporter,reviving,macclesfield,bunkers,ballets,manors,caudal,microbiology,primes,unbroken,outcry,flocks,pakhtunkhwa,abelian,toowoomba,luminous,mould,appraisal,leuven,experimentally,interoperability,hideout,perak,specifying,knighthood,vasily,excerpt,computerized,niels,networked,byzantium,reaffirmed,geographer,obscured,fraternities,mixtures,allusion,accra,lengthened,inquest,panhandle,pigments,revolts,bluetooth,conjugate,overtaken,foray,coils,breech,streaks,impressionist,mendelssohn,intermediary,panned,suggestive,nevis,upazila,rotunda,mersey,linnaeus,anecdotes,gorbachev,viennese,exhaustive,moldavia,arcades,irrespective,orator,diminishing,predictive,cohesion,polarized,montage,avian,alienation,conus,jaffna,urbanization,seawater,extremity,editorials,scrolling,dreyfus,traverses,topographic,gunboats,extratropical,normans,correspondents,recognises,millennia,filtration,ammonium,voicing,complied,prefixes,diplomas,figurines,weakly,gated,oscillator,lucerne,embroidered,outpatient,airframe,fractional,disobedience,quarterbacks,formula_21,shinto,chiapas,epistle,leakage,pacifist,avignon,penrith,renders,mantua,screenplays,gustaf,tesco,alphabetically,rations,discharges,headland,tapestry,manipur,boolean,mediator,ebenezer,subchannel,fable,bestselling,ateneo,trademarks,recurrence,dwarfs,britannica,signifying,vikram,mediate,condensation,censuses,verbandsgemeinde,cartesian,sprang,surat,britons,chelmsford,courtenay,statistic,retina,abortions,liabilities,closures,mississauga,skyscrapers,saginaw,compounded,aristocrat,msnbc,stavanger,septa,interpretive,hinder,visibly,seeding,shutouts,irregularly,quebecois,footbridge,hydroxide,implicitly,lieutenants,simplex,persuades,midshipman,heterogeneous,officiated,crackdown,lends,tartu,altars,fractions,dissidents,tapered,modernisation,scripting,blazon,aquaculture,thermodynamics,sistan,hasidic,bellator,pavia,propagated,theorized,bedouin,transnational,mekong,chronicled,declarations,kickstarter,quotas,runtime,duquesne,broadened,clarendon,brownsville,saturation,tatars,electorates,malayan,replicated,observable,amphitheater,endorsements,referral,allentown,mormons,pantomime,eliminates,typeface,allegorical,varna,conduction,evoke,interviewer,subordinated,uyghur,landscaped,conventionally,ascend,edifice,postulated,hanja,whitewater,embarking,musicologist,tagalog,frontage,paratroopers,hydrocarbons,transliterated,nicolae,viewpoints,surrealist,asheville,falklands,hacienda,glide,opting,zimbabwean,discal,mortgages,nicaraguan,yadav,ghosh,abstracted,castilian,compositional,cartilage,intergovernmental,forfeited,importation,rapping,artes,republika,narayana,condominium,frisian,bradman,duality,marche,extremist,phosphorylation,genomes,allusions,valencian,habeas,ironworks,multiplex,harpsichord,emigrate,alternated,breda,waffen,smartphones,familiarity,regionalliga,herbaceous,piping,dilapidated,carboniferous,xviii,critiques,carcinoma,sagar,chippewa,postmodern,neapolitan,excludes,notoriously,distillation,tungsten,richness,installments,monoxide,chand,privatisation,molded,maths,projectiles,luoyang,epirus,lemma,concentric,incline,erroneous,sideline,gazetted,leopards,fibres,renovate,corrugated,unilateral,repatriation,orchestration,saeed,rockingham,loughborough,formula_22,bandleader,appellation,openness,nanotechnology,massively,tonnage,dunfermline,exposes,moored,ridership,motte,eurobasket,majoring,feats,silla,laterally,playlist,downwards,methodologies,eastbourne,daimyo,cellulose,leyton,norwalk,oblong,hibernian,opaque,insular,allegory,camogie,inactivation,favoring,masterpieces,rinpoche,serotonin,portrayals,waverley,airliner,longford,minimalist,outsourcing,excise,meyrick,qasim,organisational,synaptic,farmington,gorges,scunthorpe,zoned,tohoku,librarians,davao,decor,theatrically,brentwood,pomona,acquires,planter,capacitors,synchronous,skateboarding,coatings,turbocharged,ephraim,capitulation,scoreboard,hebrides,ensues,cereals,ailing,counterpoint,duplication,antisemitic,clique,aichi,oppressive,transcendental,incursions,rename,renumbering,powys,vestry,bitterly,neurology,supplanted,affine,susceptibility,orbiter,activating,overlaps,ecoregion,raman,canoer,darfur,microorganisms,precipitated,protruding,torun,anthropologists,rennes,kangaroos,parliamentarians,edits,littoral,archived,begum,rensselaer,microphones,ypres,empower,etruscan,wisden,montfort,calibration,isomorphic,rioting,kingship,verbally,smyrna,cohesive,canyons,fredericksburg,rahul,relativistic,micropolitan,maroons,industrialized,henchmen,uplift,earthworks,mahdi,disparity,cultured,transliteration,spiny,fragmentary,extinguished,atypical,inventors,biosynthesis,heralded,curacao,anomalies,aeroplane,surya,mangalore,maastricht,ashkenazi,fusiliers,hangzhou,emitting,monmouthshire,schwarzenegger,ramayana,peptides,thiruvananthapuram,alkali,coimbra,budding,reasoned,epithelial,harbors,rudimentary,classically,parque,ealing,crusades,rotations,riparian,pygmy,inertia,revolted,microprocessor,calendars,solvents,kriegsmarine,accademia,cheshmeh,yoruba,ardabil,mitra,genomic,notables,propagate,narrates,univision,outposts,polio,birkenhead,urinary,crocodiles,pectoral,barrymore,deadliest,rupees,chaim,protons,comical,astrophysics,unifying,formula_23,vassals,cortical,audubon,pedals,tenders,resorted,geophysical,lenders,recognising,tackling,lanarkshire,doctrinal,annan,combating,guangxi,estimating,selectors,tribunals,chambered,inhabiting,exemptions,curtailed,abbasid,kandahar,boron,bissau,150th,codenamed,wearer,whorl,adhered,subversive,famer,smelting,inserting,mogadishu,zoologist,mosul,stumps,almanac,olympiacos,stamens,participatory,cults,honeycomb,geologists,dividend,recursive,skiers,reprint,pandemic,liber,percentages,adversely,stoppage,chieftains,tubingen,southerly,overcrowding,unorganized,hangars,fulfil,hails,cantilever,woodbridge,pinus,wiesbaden,fertilization,fluorescence,enhances,plenary,troublesome,episodic,thrissur,kickboxing,allele,staffing,garda,televisions,philatelic,spacetime,bullpen,oxides,leninist,enrolling,inventive,truro,compatriot,ruskin,normative,assay,gotha,murad,illawarra,gendarmerie,strasse,mazraeh,rebounded,fanfare,liaoning,rembrandt,iranians,emirate,governs,latency,waterfowl,chairmen,katowice,aristocrats,eclipsed,sentient,sonatas,interplay,sacking,decepticons,dynamical,arbitrarily,resonant,petar,velocities,alludes,wastes,prefectures,belleville,sensibility,salvadoran,consolidating,medicaid,trainees,vivekananda,molar,porous,upload,youngster,infused,doctorates,wuhan,annihilation,enthusiastically,gamespot,kanpur,accumulating,monorail,operetta,tiling,sapporo,finns,calvinist,hydrocarbon,sparrows,orienteering,cornelis,minster,vuelta,plebiscite,embraces,panchayats,focussed,remediation,brahman,olfactory,reestablished,uniqueness,northumbria,rwandan,predominately,abode,ghats,balances,californian,uptake,bruges,inert,westerns,reprints,cairn,yarra,resurfaced,audible,rossini,regensburg,italiana,fleshy,irrigated,alerts,yahya,varanasi,marginalized,expatriates,cantonment,normandie,sahitya,directives,rounder,hulls,fictionalized,constables,inserts,hipped,potosi,navies,biologists,canteen,husbandry,augment,fortnight,assamese,kampala,o'keefe,paleolithic,bluish,promontory,consecutively,striving,niall,reuniting,dipole,friendlies,disapproved,thrived,netflix,liberian,dielectric,medway,strategist,sankt,pickups,hitters,encode,rerouted,claimants,anglesey,partitioned,cavan,flutes,reared,repainted,armaments,bowed,thoracic,balliol,piero,chaplains,dehestan,sender,junkers,sindhi,sickle,dividends,metallurgy,honorific,berths,namco,springboard,resettled,gansu,copyrighted,criticizes,utopian,bendigo,ovarian,binomial,spaceflight,oratorio,proprietors,supergroup,duplicated,foreground,strongholds,revolved,optimize,layouts,westland,hurler,anthropomorphic,excelsior,merchandising,reeds,vetoed,cryptography,hollyoaks,monash,flooring,ionian,resilience,johnstown,resolves,lawmakers,alegre,wildcards,intolerance,subculture,selector,slums,formulate,bayonet,istvan,restitution,interchangeably,awakens,rostock,serpentine,oscillation,reichstag,phenotype,recessed,piotr,annotated,preparedness,consultations,clausura,preferential,euthanasia,genoese,outcrops,freemasonry,geometrical,genesee,islets,prometheus,panamanian,thunderbolt,terraced,stara,shipwrecks,futebol,faroese,sharqi,aldermen,zeitung,unify,formula_24,humanism,syntactic,earthen,blyth,taxed,rescinded,suleiman,cymru,dwindled,vitality,superieure,resupply,adolphe,ardennes,rajiv,profiling,olympique,gestation,interfaith,milosevic,tagline,funerary,druze,silvery,plough,shrubland,relaunch,disband,nunatak,minimizing,excessively,waned,attaching,luminosity,bugle,encampment,electrostatic,minesweeper,dubrovnik,rufous,greenock,hochschule,assyrians,extracting,malnutrition,priya,attainment,anhui,connotations,predicate,seabirds,deduced,pseudonyms,gopal,plovdiv,refineries,imitated,kwazulu,terracotta,tenets,discourses,brandeis,whigs,dominions,pulmonate,landslides,tutors,determinant,richelieu,farmstead,tubercles,technicolor,hegel,redundancy,greenpeace,shortening,mules,distilled,xxiii,fundamentalist,acrylic,outbuildings,lighted,corals,signaled,transistors,cavite,austerity,76ers,exposures,dionysius,outlining,commutative,permissible,knowledgeable,howrah,assemblage,inhibited,crewmen,mbit/s,pyramidal,aberdeenshire,bering,rotates,atheism,howitzer,saone,lancet,fermented,contradicted,materiel,ofsted,numeric,uniformity,josephus,nazarene,kuwaiti,noblemen,pediment,emergent,campaigner,akademi,murcia,perugia,gallen,allsvenskan,finned,cavities,matriculation,rosters,twickenham,signatory,propel,readable,contends,artisan,flamboyant,reggio,italo,fumbles,widescreen,rectangle,centimetres,collaborates,envoys,rijeka,phonological,thinly,refractive,civilisation,reductase,cognate,dalhousie,monticello,lighthouses,jitsu,luneburg,socialite,fermi,collectible,optioned,marquee,jokingly,architecturally,kabir,concubine,nationalisation,watercolor,wicklow,acharya,pooja,leibniz,rajendra,nationalized,stalemate,bloggers,glutamate,uplands,shivaji,carolingian,bucuresti,dasht,reappears,muscat,functionally,formulations,hinged,hainan,catechism,autosomal,incremental,asahi,coeur,diversification,multilateral,fewest,recombination,finisher,harrogate,hangul,feasts,photovoltaic,paget,liquidity,alluded,incubation,applauded,choruses,malagasy,hispanics,bequest,underparts,cassava,kazimierz,gastric,eradication,mowtowr,tyrosine,archbishopric,e9e9e9,unproductive,uxbridge,hydrolysis,harbours,officio,deterministic,devonport,kanagawa,breaches,freetown,rhinoceros,chandigarh,janos,sanatorium,liberator,inequalities,agonist,hydrophobic,constructors,nagorno,snowboarding,welcomes,subscribed,iloilo,resuming,catalysts,stallions,jawaharlal,harriers,definitively,roughriders,hertford,inhibiting,elgar,randomized,incumbents,episcopate,rainforests,yangon,improperly,kemal,interpreters,diverged,uttarakhand,umayyad,phnom,panathinaikos,shabbat,diode,jiangxi,forbidding,nozzle,artistry,licensee,processions,staffs,decimated,expressionism,shingle,palsy,ontology,mahayana,maribor,sunil,hostels,edwardian,jetty,freehold,overthrew,eukaryotic,schuylkill,rawalpindi,sheath,recessive,ferenc,mandibles,berlusconi,confessor,convergent,ababa,slugging,rentals,sephardic,equivalently,collagen,markov,dynamically,hailing,depressions,sprawling,fairgrounds,indistinguishable,plutarch,pressurized,banff,coldest,braunschweig,mackintosh,sociedad,wittgenstein,tromso,airbase,lecturers,subtitle,attaches,purified,contemplated,dreamworks,telephony,prophetic,rockland,aylesbury,biscay,coherence,aleksandar,judoka,pageants,theses,homelessness,luthor,sitcoms,hinterland,fifths,derwent,privateers,enigmatic,nationalistic,instructs,superimposed,conformation,tricycle,dusan,attributable,unbeknownst,laptops,etching,archbishops,ayatollah,cranial,gharbi,interprets,lackawanna,abingdon,saltwater,tories,lender,minaj,ancillary,ranching,pembrokeshire,topographical,plagiarism,murong,marque,chameleon,assertions,infiltrated,guildhall,reverence,schenectady,formula_25,kollam,notary,mexicana,initiates,abdication,basra,theorems,ionization,dismantling,eared,censors,budgetary,numeral,verlag,excommunicated,distinguishable,quarried,cagliari,hindustan,symbolizing,watertown,descartes,relayed,enclosures,militarily,sault,devolved,dalian,djokovic,filaments,staunton,tumour,curia,villainous,decentralized,galapagos,moncton,quartets,onscreen,necropolis,brasileiro,multipurpose,alamos,comarca,jorgen,concise,mercia,saitama,billiards,entomologist,montserrat,lindbergh,commuting,lethbridge,phoenician,deviations,anaerobic,denouncing,redoubt,fachhochschule,principalities,negros,announcers,seconded,parrots,konami,revivals,approving,devotee,riyadh,overtook,morecambe,lichen,expressionist,waterline,silverstone,geffen,sternites,aspiration,behavioural,grenville,tripura,mediums,genders,pyotr,charlottesville,sacraments,programmable,ps100,shackleton,garonne,sumerian,surpass,authorizing,interlocking,lagoons,voiceless,advert,steeple,boycotted,alouettes,yosef,oxidative,sassanid,benefiting,sayyid,nauru,predetermined,idealism,maxillary,polymerization,semesters,munchen,conor,outfitted,clapham,progenitor,gheorghe,observational,recognitions,numerically,colonized,hazrat,indore,contaminants,fatality,eradicate,assyria,convocation,cameos,skillful,skoda,corfu,confucius,overtly,ramadan,wollongong,placements,d.c..,permutation,contemporaneous,voltages,elegans,universitat,samar,plunder,dwindling,neuter,antonin,sinhala,campania,solidified,stanzas,fibrous,marburg,modernize,sorcery,deutscher,florets,thakur,disruptive,infielder,disintegration,internazionale,vicariate,effigy,tripartite,corrective,klamath,environs,leavenworth,sandhurst,workmen,compagnie,hoseynabad,strabo,palisades,ordovician,sigurd,grandsons,defection,viacom,sinhalese,innovator,uncontrolled,slavonic,indexes,refrigeration,aircrew,superbike,resumption,neustadt,confrontations,arras,hindenburg,ripon,embedding,isomorphism,dwarves,matchup,unison,lofty,argos,louth,constitutionally,transitive,newington,facelift,degeneration,perceptual,aviators,enclosing,igneous,symbolically,academician,constitutionality,iso/iec,sacrificial,maturation,apprentices,enzymology,naturalistic,hajji,arthropods,abbess,vistula,scuttled,gradients,pentathlon,etudes,freedmen,melaleuca,thrice,conductive,sackville,franciscans,stricter,golds,kites,worshiped,monsignor,trios,orally,tiered,primacy,bodywork,castleford,epidemics,alveolar,chapelle,chemists,hillsboro,soulful,warlords,ngati,huguenot,diurnal,remarking,luger,motorways,gauss,jahan,cutoff,proximal,bandai,catchphrase,jonubi,ossetia,codename,codice_2,throated,itinerant,chechnya,riverfront,leela,evoked,entailed,zamboanga,rejoining,circuitry,haymarket,khartoum,feuds,braced,miyazaki,mirren,lubusz,caricature,buttresses,attrition,characterizes,widnes,evanston,materialism,contradictions,marist,midrash,gainsborough,ulithi,turkmen,vidya,escuela,patrician,inspirations,reagent,premierships,humanistic,euphrates,transitioning,belfry,zedong,adaption,kaliningrad,lobos,epics,waiver,coniferous,polydor,inductee,refitted,moraine,unsatisfactory,worsening,polygamy,rajya,nested,subgenre,broadside,stampeders,lingua,incheon,pretender,peloton,persuading,excitation,multan,predates,tonne,brackish,autoimmune,insulated,podcasts,iraqis,bodybuilding,condominiums,midlothian,delft,debtor,asymmetrical,lycaenidae,forcefully,pathogenic,tamaulipas,andaman,intravenous,advancements,senegalese,chronologically,realigned,inquirer,eusebius,dekalb,additives,shortlist,goldwater,hindustani,auditing,caterpillars,pesticide,nakhon,ingestion,lansdowne,traditionalist,northland,thunderbirds,josip,nominating,locale,ventricular,animators,verandah,epistles,surveyors,anthems,dredd,upheaval,passaic,anatolian,svalbard,associative,floodplain,taranaki,estuaries,irreducible,beginners,hammerstein,allocate,coursework,secreted,counteract,handwritten,foundational,passover,discoverer,decoding,wares,bourgeoisie,playgrounds,nazionale,abbreviations,seanad,golan,mishra,godavari,rebranding,attendances,backstory,interrupts,lettered,hasbro,ultralight,hormozgan,armee,moderne,subdue,disuse,improvisational,enrolment,persists,moderated,carinthia,hatchback,inhibitory,capitalized,anatoly,abstracts,albemarle,bergamo,insolvency,sentai,cellars,walloon,joked,kashmiri,dirac,materialized,renomination,homologous,gusts,eighteens,centrifugal,storied,baluchestan,formula_26,poincare,vettel,infuriated,gauges,streetcars,vedanta,stately,liquidated,goguryeo,swifts,accountancy,levee,acadian,hydropower,eustace,comintern,allotment,designating,torsion,molding,irritation,aerobic,halen,concerted,plantings,garrisoned,gramophone,cytoplasm,onslaught,requisitioned,relieving,genitive,centrist,jeong,espanola,dissolving,chatterjee,sparking,connaught,varese,arjuna,carpathian,empowering,meteorologist,decathlon,opioid,hohenzollern,fenced,ibiza,avionics,footscray,scrum,discounts,filament,directories,a.f.c,stiffness,quaternary,adventurers,transmits,harmonious,taizong,radiating,germantown,ejection,projectors,gaseous,nahuatl,vidyalaya,nightlife,redefined,refuted,destitute,arista,potters,disseminated,distanced,jamboree,kaohsiung,tilted,lakeshore,grained,inflicting,kreis,novelists,descendents,mezzanine,recast,fatah,deregulation,ac/dc,australis,kohgiluyeh,boreal,goths,authoring,intoxicated,nonpartisan,theodosius,pyongyang,shree,boyhood,sanfl,plenipotentiary,photosynthesis,presidium,sinaloa,honshu,texan,avenida,transmembrane,malays,acropolis,catalunya,vases,inconsistencies,methodists,quell,suisse,banat,simcoe,cercle,zealanders,discredited,equine,sages,parthian,fascists,interpolation,classifying,spinoff,yehuda,cruised,gypsum,foaled,wallachia,saraswati,imperialist,seabed,footnotes,nakajima,locales,schoolmaster,drosophila,bridgehead,immanuel,courtier,bookseller,niccolo,stylistically,portmanteau,superleague,konkani,millimetres,arboreal,thanjavur,emulation,sounders,decompression,commoners,infusion,methodological,osage,rococo,anchoring,bayreuth,formula_27,abstracting,symbolized,bayonne,electrolyte,rowed,corvettes,traversing,editorship,sampler,presidio,curzon,adirondack,swahili,rearing,bladed,lemur,pashtun,behaviours,bottling,zaire,recognisable,systematics,leeward,formulae,subdistricts,smithfield,vijaya,buoyancy,boosting,cantonal,rishi,airflow,kamakura,adana,emblems,aquifer,clustering,husayn,woolly,wineries,montessori,turntable,exponentially,caverns,espoused,pianists,vorpommern,vicenza,latterly,o'rourke,williamstown,generale,kosice,duisburg,poirot,marshy,mismanagement,mandalay,dagenham,universes,chiral,radiated,stewards,vegan,crankshaft,kyrgyz,amphibian,cymbals,infrequently,offenbach,environmentalist,repatriated,permutations,midshipmen,loudoun,refereed,bamberg,ornamented,nitric,selim,translational,dorsum,annunciation,gippsland,reflector,informational,regia,reactionary,ahmet,weathering,erlewine,legalized,berne,occupant,divas,manifests,analyzes,disproportionate,mitochondria,totalitarian,paulista,interscope,anarcho,correlate,brookfield,elongate,brunel,ordinal,precincts,volatility,equaliser,hittite,somaliland,ticketing,monochrome,ubuntu,chhattisgarh,titleholder,ranches,referendums,blooms,accommodates,merthyr,religiously,ryukyu,tumultuous,checkpoints,anode,mi'kmaq,cannonball,punctuation,remodelled,assassinations,criminology,alternates,yonge,pixar,namibian,piraeus,trondelag,hautes,lifeboats,shoal,atelier,vehemently,sadat,postcode,jainism,lycoming,undisturbed,lutherans,genomics,popmatters,tabriz,isthmian,notched,autistic,horsham,mites,conseil,bloomsbury,seung,cybertron,idris,overhauled,disbandment,idealized,goldfields,worshippers,lobbyist,ailments,paganism,herbarium,athenians,messerschmitt,faraday,entangled,'olya,untreated,criticising,howitzers,parvati,lobed,debussy,atonement,tadeusz,permeability,mueang,sepals,degli,optionally,fuelled,follies,asterisk,pristina,lewiston,congested,overpass,affixed,pleads,telecasts,stanislaus,cryptographic,friesland,hamstring,selkirk,antisubmarine,inundated,overlay,aggregates,fleur,trolleybus,sagan,ibsen,inductees,beltway,tiled,ladders,cadbury,laplace,ascetic,micronesia,conveying,bellingham,cleft,batches,usaid,conjugation,macedon,assisi,reappointed,brine,jinnah,prairies,screenwriting,oxidized,despatches,linearly,fertilizers,brazilians,absorbs,wagga,modernised,scorsese,ashraf,charlestown,esque,habitable,nizhny,lettres,tuscaloosa,esplanade,coalitions,carbohydrates,legate,vermilion,standardised,galleria,psychoanalytic,rearrangement,substation,competency,nationalised,reshuffle,reconstructions,mehdi,bougainville,receivership,contraception,enlistment,conducive,aberystwyth,solicitors,dismisses,fibrosis,montclair,homeowner,surrealism,s.h.i.e.l.d,peregrine,compilers,1790s,parentage,palmas,rzeszow,worldview,eased,svenska,housemate,bundestag,originator,enlisting,outwards,reciprocity,formula_28,carbohydrate,democratically,firefighting,romagna,acknowledgement,khomeini,carbide,quests,vedas,characteristically,guwahati,brixton,unintended,brothels,parietal,namur,sherbrooke,moldavian,baruch,milieu,undulating,laurier,entre,dijon,ethylene,abilene,heracles,paralleling,ceres,dundalk,falun,auspicious,chisinau,polarity,foreclosure,templates,ojibwe,punic,eriksson,biden,bachchan,glaciation,spitfires,norsk,nonviolent,heidegger,algonquin,capacitance,cassettes,balconies,alleles,airdate,conveys,replays,classifies,infrequent,amine,cuttings,rarer,woking,olomouc,amritsar,rockabilly,illyrian,maoist,poignant,tempore,stalinist,segmented,bandmate,mollusc,muhammed,totalled,byrds,tendered,endogenous,kottayam,aisne,oxidase,overhears,illustrators,verve,commercialization,purplish,directv,moulded,lyttelton,baptismal,captors,saracens,georgios,shorten,polity,grids,fitzwilliam,sculls,impurities,confederations,akhtar,intangible,oscillations,parabolic,harlequin,maulana,ovate,tanzanian,singularity,confiscation,qazvin,speyer,phonemes,overgrown,vicarage,gurion,undocumented,niigata,thrones,preamble,stave,interment,liiga,ataturk,aphrodite,groupe,indentured,habsburgs,caption,utilitarian,ozark,slovenes,reproductions,plasticity,serbo,dulwich,castel,barbuda,salons,feuding,lenape,wikileaks,swamy,breuning,shedding,afield,superficially,operationally,lamented,okanagan,hamadan,accolade,furthering,adolphus,fyodor,abridged,cartoonists,pinkish,suharto,cytochrome,methylation,debit,colspan=9|,refine,taoist,signalled,herding,leaved,bayan,fatherland,rampart,sequenced,negation,storyteller,occupiers,barnabas,pelicans,nadir,conscripted,railcars,prerequisite,furthered,columba,carolinas,markup,gwalior,franche,chaco,eglinton,ramparts,rangoon,metabolites,pollination,croat,televisa,holyoke,testimonial,setlist,safavid,sendai,georgians,shakespearean,galleys,regenerative,krzysztof,overtones,estado,barbary,cherbourg,obispo,sayings,composites,sainsbury,deliberation,cosmological,mahalleh,embellished,ascap,biala,pancras,calumet,grands,canvases,antigens,marianas,defenseman,approximated,seedlings,soren,stele,nuncio,immunology,testimonies,glossary,recollections,suitability,tampere,venous,cohomology,methanol,echoing,ivanovich,warmly,sterilization,imran,multiplying,whitechapel,undersea,xuanzong,tacitus,bayesian,roundhouse,correlations,rioters,molds,fiorentina,bandmates,mezzo,thani,guerilla,200th,premiums,tamils,deepwater,chimpanzees,tribesmen,selwyn,globo,turnovers,punctuated,erode,nouvelle,banbury,exponents,abolishing,helical,maimonides,endothelial,goteborg,infield,encroachment,cottonwood,mazowiecki,parable,saarbrucken,reliever,epistemology,artistes,enrich,rationing,formula_29,palmyra,subfamilies,kauai,zoran,fieldwork,arousal,creditor,friuli,celts,comoros,equated,escalation,negev,tallied,inductive,anion,netanyahu,mesoamerican,lepidoptera,aspirated,remit,westmorland,italic,crosse,vaclav,fuego,owain,balmain,venetians,ethnicities,deflected,ticino,apulia,austere,flycatcher,reprising,repressive,hauptbahnhof,subtype,ophthalmology,summarizes,eniwetok,colonisation,subspace,nymphalidae,earmarked,tempe,burnet,crests,abbots,norwegians,enlarge,ashoka,frankfort,livorno,malware,renters,singly,iliad,moresby,rookies,gustavus,affirming,alleges,legume,chekhov,studded,abdicated,suzhou,isidore,townsite,repayment,quintus,yankovic,amorphous,constructor,narrowing,industrialists,tanganyika,capitalization,connective,mughals,rarities,aerodynamics,worthing,antalya,diagnostics,shaftesbury,thracian,obstetrics,benghazi,multiplier,orbitals,livonia,roscommon,intensify,ravel,oaths,overseer,locomotion,necessities,chickasaw,strathclyde,treviso,erfurt,aortic,contemplation,accrington,markazi,predeceased,hippocampus,whitecaps,assemblyman,incursion,ethnography,extraliga,reproducing,directorship,benzene,byway,stupa,taxable,scottsdale,onondaga,favourably,countermeasures,lithuanians,thatched,deflection,tarsus,consuls,annuity,paralleled,contextual,anglian,klang,hoisted,multilingual,enacting,samaj,taoiseach,carthaginian,apologised,hydrology,entrant,seamless,inflorescences,mugabe,westerners,seminaries,wintering,penzance,mitre,sergeants,unoccupied,delimitation,discriminate,upriver,abortive,nihon,bessarabia,calcareous,buffaloes,patil,daegu,streamline,berks,chaparral,laity,conceptions,typified,kiribati,threaded,mattel,eccentricity,signified,patagonia,slavonia,certifying,adnan,astley,sedition,minimally,enumerated,nikos,goalless,walid,narendra,causa,missoula,coolant,dalek,outcrop,hybridization,schoolchildren,peasantry,afghans,confucianism,shahr,gallic,tajik,kierkegaard,sauvignon,commissar,patriarchs,tuskegee,prussians,laois,ricans,talmudic,officiating,aesthetically,baloch,antiochus,separatists,suzerainty,arafat,shading,u.s.c,chancellors,inc..,toolkit,nepenthes,erebidae,solicited,pratap,kabbalah,alchemist,caltech,darjeeling,biopic,spillway,kaiserslautern,nijmegen,bolstered,neath,pahlavi,eugenics,bureaus,retook,northfield,instantaneous,deerfield,humankind,selectivity,putative,boarders,cornhuskers,marathas,raikkonen,aliabad,mangroves,garages,gulch,karzai,poitiers,chernobyl,thane,alexios,belgrano,scion,solubility,urbanized,executable,guizhou,nucleic,tripled,equalled,harare,houseguests,potency,ghazi,repeater,overarching,regrouped,broward,ragtime,d'art,nandi,regalia,campsites,mamluk,plating,wirral,presumption,zenit,archivist,emmerdale,decepticon,carabidae,kagoshima,franconia,guarani,formalism,diagonally,submarginal,denys,walkways,punts,metrolink,hydrographic,droplets,upperside,martyred,hummingbird,antebellum,curiously,mufti,friary,chabad,czechs,shaykh,reactivity,berklee,turbonilla,tongan,sultans,woodville,unlicensed,enmity,dominicans,operculum,quarrying,watercolour,catalyzed,gatwick,'what,mesozoic,auditors,shizuoka,footballing,haldane,telemundo,appended,deducted,disseminate,o'shea,pskov,abrasive,entente,gauteng,calicut,lemurs,elasticity,suffused,scopula,staining,upholding,excesses,shostakovich,loanwords,naidu,championnat,chromatography,boasting,goaltenders,engulfed,salah,kilogram,morristown,shingles,shi'a,labourer,renditions,frantisek,jekyll,zonal,nanda,sheriffs,eigenvalues,divisione,endorsing,ushered,auvergne,cadres,repentance,freemasons,utilising,laureates,diocletian,semiconductors,o'grady,vladivostok,sarkozy,trackage,masculinity,hydroxyl,mervyn,muskets,speculations,gridiron,opportunistic,mascots,aleutian,fillies,sewerage,excommunication,borrowers,capillary,trending,sydenham,synthpop,rajah,cagayan,deportes,kedah,faure,extremism,michoacan,levski,culminates,occitan,bioinformatics,unknowingly,inciting,emulated,footpaths,piacenza,dreadnought,viceroyalty,oceanographic,scouted,combinatorial,ornithologist,cannibalism,mujahideen,independiente,cilicia,hindwing,minimized,odeon,gyorgy,rubles,purchaser,collieries,kickers,interurban,coiled,lynchburg,respondent,plzen,detractors,etchings,centering,intensification,tomography,ranjit,warblers,retelling,reinstatement,cauchy,modulus,redirected,evaluates,beginner,kalateh,perforated,manoeuvre,scrimmage,internships,megawatts,mottled,haakon,tunbridge,kalyan,summarised,sukarno,quetta,canonized,henryk,agglomeration,coahuila,diluted,chiropractic,yogyakarta,talladega,sheik,cation,halting,reprisals,sulfuric,musharraf,sympathizers,publicised,arles,lectionary,fracturing,startups,sangha,latrobe,rideau,ligaments,blockading,cremona,lichens,fabaceae,modulated,evocative,embodies,battersea,indistinct,altai,subsystem,acidity,somatic,formula_30,tariq,rationality,sortie,ashlar,pokal,cytoplasmic,valour,bangla,displacing,hijacking,spectrometry,westmeath,weill,charing,goias,revolvers,individualized,tenured,nawaz,piquet,chanted,discard,bernd,phalanx,reworking,unilaterally,subclass,yitzhak,piloting,circumvent,disregarded,semicircular,viscous,tibetans,endeavours,retaliated,cretan,vienne,workhouse,sufficiency,aurangzeb,legalization,lipids,expanse,eintracht,sanjak,megas,125th,bahraini,yakima,eukaryotes,thwart,affirmation,peloponnese,retailing,carbonyl,chairwoman,macedonians,dentate,rockaway,correctness,wealthier,metamorphic,aragonese,fermanagh,pituitary,schrodinger,evokes,spoiler,chariots,akita,genitalia,combe,confectionery,desegregation,experiential,commodores,persepolis,viejo,restorations,virtualization,hispania,printmaking,stipend,yisrael,theravada,expended,radium,tweeted,polygonal,lippe,charente,leveraged,cutaneous,fallacy,fragrant,bypasses,elaborately,rigidity,majid,majorca,kongo,plasmodium,skits,audiovisual,eerste,staircases,prompts,coulthard,northwestward,riverdale,beatrix,copyrights,prudential,communicates,mated,obscenity,asynchronous,analyse,hansa,searchlight,farnborough,patras,asquith,qarah,contours,fumbled,pasteur,redistributed,almeria,sanctuaries,jewry,israelite,clinicians,koblenz,bookshop,affective,goulburn,panelist,sikorsky,cobham,mimics,ringed,portraiture,probabilistic,girolamo,intelligible,andalusian,jalal,athenaeum,eritrean,auxiliaries,pittsburg,devolution,sangam,isolating,anglers,cronulla,annihilated,kidderminster,synthesize,popularised,theophilus,bandstand,innumerable,chagrin,retroactively,weser,multiples,birdlife,goryeo,pawnee,grosser,grappling,tactile,ahmadinejad,turboprop,erdogan,matchday,proletarian,adhering,complements,austronesian,adverts,luminaries,archeology,impressionism,conifer,sodomy,interracial,platoons,lessen,postings,pejorative,registrations,cookery,persecutions,microbes,audits,idiosyncratic,subsp,suspensions,restricts,colouring,ratify,instrumentals,nucleotides,sulla,posits,bibliotheque,diameters,oceanography,instigation,subsumed,submachine,acceptor,legation,borrows,sedge,discriminated,loaves,insurers,highgate,detectable,abandons,kilns,sportscaster,harwich,iterations,preakness,arduous,tensile,prabhu,shortwave,philologist,shareholding,vegetative,complexities,councilors,distinctively,revitalize,automaton,amassing,montreux,khanh,surabaya,nurnberg,pernambuco,cuisines,charterhouse,firsts,tercera,inhabitant,homophobia,naturalism,einar,powerplant,coruna,entertainments,whedon,rajputs,raton,democracies,arunachal,oeuvre,wallonia,jeddah,trolleybuses,evangelism,vosges,kiowa,minimise,encirclement,undertakes,emigrant,beacons,deepened,grammars,publius,preeminent,seyyed,repechage,crafting,headingley,osteopathic,lithography,hotly,bligh,inshore,betrothed,olympians,formula_31,dissociation,trivandrum,arran,petrovic,stettin,disembarked,simplification,bronzes,philo,acrobatic,jonsson,conjectured,supercharged,kanto,detects,cheeses,correlates,harmonics,lifecycle,sudamericana,reservists,decayed,elitserien,parametric,113th,dusky,hogarth,modulo,symbiotic,monopolies,discontinuation,converges,southerners,tucuman,eclipses,enclaves,emits,famicom,caricatures,artistically,levelled,mussels,erecting,mouthparts,cunard,octaves,crucible,guardia,unusable,lagrangian,droughts,ephemeral,pashto,canis,tapering,sasebo,silurian,metallurgical,outscored,evolves,reissues,sedentary,homotopy,greyhawk,reagents,inheriting,onshore,tilting,rebuffed,reusable,naturalists,basingstoke,insofar,offensives,dravidian,curators,planks,rajan,isoforms,flagstaff,preside,globular,egalitarian,linkages,biographers,goalscorers,molybdenum,centralised,nordland,jurists,ellesmere,rosberg,hideyoshi,restructure,biases,borrower,scathing,redress,tunnelling,workflow,magnates,mahendra,dissenters,plethora,transcriptions,handicrafts,keyword,xi'an,petrograd,unser,prokofiev,90deg,madan,bataan,maronite,kearny,carmarthen,termini,consulates,disallowed,rockville,bowery,fanzine,docklands,bests,prohibitions,yeltsin,selassie,naturalization,realisation,dispensary,tribeca,abdulaziz,pocahontas,stagnation,pamplona,cuneiform,propagating,subsurface,christgau,epithelium,schwerin,lynching,routledge,hanseatic,upanishad,glebe,yugoslavian,complicity,endowments,girona,mynetworktv,entomology,plinth,ba'ath,supercup,torus,akkadian,salted,englewood,commandery,belgaum,prefixed,colorless,dartford,enthroned,caesarea,nominative,sandown,safeguards,hulled,formula_32,leamington,dieppe,spearhead,generalizations,demarcation,llanelli,masque,brickwork,recounting,sufism,strikingly,petrochemical,onslow,monologues,emigrating,anderlecht,sturt,hossein,sakhalin,subduction,novices,deptford,zanjan,airstrikes,coalfield,reintroduction,timbaland,hornby,messianic,stinging,universalist,situational,radiocarbon,strongman,rowling,saloons,traffickers,overran,fribourg,cambrai,gravesend,discretionary,finitely,archetype,assessor,pilipinas,exhumed,invocation,interacted,digitized,timisoara,smelter,teton,sexism,precepts,srinagar,pilsudski,carmelite,hanau,scoreline,hernando,trekking,blogging,fanbase,wielded,vesicles,nationalization,banja,rafts,motoring,luang,takeda,girder,stimulates,histone,sunda,nanoparticles,attains,jumpers,catalogued,alluding,pontus,ancients,examiners,shinkansen,ribbentrop,reimbursement,pharmacological,ramat,stringed,imposes,cheaply,transplanted,taiping,mizoram,looms,wallabies,sideman,kootenay,encased,sportsnet,revolutionized,tangier,benthic,runic,pakistanis,heatseekers,shyam,mishnah,presbyterians,stadt,sutras,straddles,zoroastrian,infer,fueling,gymnasts,ofcom,gunfight,journeyman,tracklist,oshawa,ps500,pa'in,mackinac,xiongnu,mississippian,breckinridge,freemason,bight,autoroute,liberalization,distantly,thrillers,solomons,presumptive,romanization,anecdotal,bohemians,unpaved,milder,concurred,spinners,alphabets,strenuous,rivieres,kerrang,mistreatment,dismounted,intensively,carlist,dancehall,shunting,pluralism,trafficked,brokered,bonaventure,bromide,neckar,designates,malian,reverses,sotheby,sorghum,serine,environmentalists,languedoc,consulship,metering,bankstown,handlers,militiamen,conforming,regularity,pondicherry,armin,capsized,consejo,capitalists,drogheda,granular,purged,acadians,endocrine,intramural,elicit,terns,orientations,miklos,omitting,apocryphal,slapstick,brecon,pliocene,affords,typography,emigre,tsarist,tomasz,beset,nishi,necessitating,encyclical,roleplaying,journeyed,inflow,sprints,progressives,novosibirsk,cameroonian,ephesus,speckled,kinshasa,freiherr,burnaby,dalmatian,torrential,rigor,renegades,bhakti,nurburgring,cosimo,convincingly,reverting,visayas,lewisham,charlottetown,charadriiformesfamily,transferable,jodhpur,converters,deepening,camshaft,underdeveloped,protease,polonia,uterine,quantify,tobruk,dealerships,narasimha,fortran,inactivity,1780s,victors,categorised,naxos,workstation,skink,sardinian,chalice,precede,dammed,sondheim,phineas,tutored,sourcing,uncompromising,placer,tyneside,courtiers,proclaims,pharmacies,hyogo,booksellers,sengoku,kursk,spectrometer,countywide,wielkopolski,bobsleigh,shetty,llywelyn,consistory,heretics,guinean,cliches,individualism,monolithic,imams,usability,bursa,deliberations,railings,torchwood,inconsistency,balearic,stabilizer,demonstrator,facet,radioactivity,outboard,educates,d'oyly,heretical,handover,jurisdictional,shockwave,hispaniola,conceptually,routers,unaffiliated,trentino,formula_33,cypriots,intervenes,neuchatel,formulating,maggiore,delisted,alcohols,thessaly,potable,estimator,suborder,fluency,mimicry,clergymen,infrastructures,rivals.com,baroda,subplot,majlis,plano,clinching,connotation,carinae,savile,intercultural,transcriptional,sandstones,ailerons,annotations,impresario,heinkel,scriptural,intermodal,astrological,ribbed,northeastward,posited,boers,utilise,kalmar,phylum,breakwater,skype,textured,guideline,azeri,rimini,massed,subsidence,anomalous,wolfsburg,polyphonic,accrediting,vodacom,kirov,captaining,kelantan,logie,fervent,eamon,taper,bundeswehr,disproportionately,divination,slobodan,pundits,hispano,kinetics,reunites,makati,ceasing,statistician,amending,chiltern,eparchy,riverine,melanoma,narragansett,pagans,raged,toppled,breaching,zadar,holby,dacian,ochre,velodrome,disparities,amphoe,sedans,webpage,williamsport,lachlan,groton,baring,swastika,heliport,unwillingness,razorbacks,exhibitors,foodstuffs,impacting,tithe,appendages,dermot,subtypes,nurseries,balinese,simulating,stary,remakes,mundi,chautauqua,geologically,stockade,hakka,dilute,kalimantan,pahang,overlapped,fredericton,baha'u'llah,jahangir,damping,benefactors,shomali,triumphal,cieszyn,paradigms,shielded,reggaeton,maharishi,zambian,shearing,golestan,mirroring,partitioning,flyover,songbook,incandescent,merrimack,huguenots,sangeet,vulnerabilities,trademarked,drydock,tantric,honoris,queenstown,labelling,iterative,enlists,statesmen,anglicans,herge,qinghai,burgundian,islami,delineated,zhuge,aggregated,banknote,qatari,suitably,tapestries,asymptotic,charleroi,majorities,pyramidellidae,leanings,climactic,tahir,ramsar,suppressor,revisionist,trawler,ernakulam,penicillium,categorization,slits,entitlement,collegium,earths,benefice,pinochet,puritans,loudspeaker,stockhausen,eurocup,roskilde,alois,jaroslav,rhondda,boutiques,vigor,neurotransmitter,ansar,malden,ferdinando,sported,relented,intercession,camberwell,wettest,thunderbolts,positional,oriel,cloverleaf,penalized,shoshone,rajkumar,completeness,sharjah,chromosomal,belgians,woolen,ultrasonic,sequentially,boleyn,mordella,microsystems,initiator,elachista,mineralogy,rhododendron,integrals,compostela,hamza,sawmills,stadio,berlioz,maidens,stonework,yachting,tappeh,myocardial,laborer,workstations,costumed,nicaea,lanark,roundtable,mashhad,nablus,algonquian,stuyvesant,sarkar,heroines,diwan,laments,intonation,intrigues,almaty,feuded,grandes,algarve,rehabilitate,macrophages,cruciate,dismayed,heuristic,eliezer,kozhikode,covalent,finalised,dimorphism,yaroslavl,overtaking,leverkusen,middlebury,feeders,brookings,speculates,insoluble,lodgings,jozsef,cysteine,shenyang,habilitation,spurious,brainchild,mtdna,comique,albedo,recife,partick,broadening,shahi,orientated,himalaya,swabia,palme,mennonites,spokeswoman,conscripts,sepulchre,chartres,eurozone,scaffold,invertebrate,parishad,bagan,heian,watercolors,basse,supercomputer,commences,tarragona,plainfield,arthurian,functor,identically,murex,chronicling,pressings,burrowing,histoire,guayaquil,goalkeeping,differentiable,warburg,machining,aeneas,kanawha,holocene,ramesses,reprisal,qingdao,avatars,turkestan,cantatas,besieging,repudiated,teamsters,equipping,hydride,ahmadiyya,euston,bottleneck,computations,terengganu,kalinga,stela,rediscovery,'this,azhar,stylised,karelia,polyethylene,kansai,motorised,lounges,normalization,calculators,1700s,goalkeepers,unfolded,commissary,cubism,vignettes,multiverse,heaters,briton,sparingly,childcare,thorium,plock,riksdag,eunuchs,catalysis,limassol,perce,uncensored,whitlam,ulmus,unites,mesopotamian,refraction,biodiesel,forza,fulda,unseated,mountbatten,shahrak,selenium,osijek,mimicking,antimicrobial,axons,simulcasting,donizetti,swabian,sportsmen,hafiz,neared,heraclius,locates,evaded,subcarpathian,bhubaneswar,negeri,jagannath,thaksin,aydin,oromo,lateran,goldsmiths,multiculturalism,cilia,mihai,evangelists,lorient,qajar,polygons,vinod,mechanised,anglophone,prefabricated,mosses,supervillain,airliners,biofuels,iodide,innovators,valais,wilberforce,logarithm,intelligentsia,dissipation,sanctioning,duchies,aymara,porches,simulators,mostar,telepathic,coaxial,caithness,burghs,fourths,stratification,joaquim,scribes,meteorites,monarchist,germination,vries,desiring,replenishment,istria,winemaking,tammany,troupes,hetman,lanceolate,pelagic,triptych,primeira,scant,outbound,hyphae,denser,bentham,basie,normale,executes,ladislaus,kontinental,herat,cruiserweight,activision,customization,manoeuvres,inglewood,northwood,waveform,investiture,inpatient,alignments,kiryat,rabat,archimedes,ustad,monsanto,archetypal,kirkby,sikhism,correspondingly,catskill,overlaid,petrels,widowers,unicameral,federalists,metalcore,gamerankings,mussel,formula_34,lymphocytes,cystic,southgate,vestiges,immortals,kalam,strove,amazons,pocono,sociologists,sopwith,adheres,laurens,caregivers,inspecting,transylvanian,rebroadcast,rhenish,miserables,pyrams,blois,newtonian,carapace,redshirt,gotland,nazir,unilever,distortions,linebackers,federalism,mombasa,lumen,bernoulli,favouring,aligarh,denounce,steamboats,dnieper,stratigraphic,synths,bernese,umass,icebreaker,guanajuato,heisenberg,boldly,diodes,ladakh,dogmatic,scriptwriter,maritimes,battlestar,symposia,adaptable,toluca,bhavan,nanking,ieyasu,picardy,soybean,adalbert,brompton,deutsches,brezhnev,glandular,laotian,hispanicized,ibadan,personification,dalit,yamuna,regio,dispensed,yamagata,zweibrucken,revising,fandom,stances,participle,flavours,khitan,vertebral,crores,mayaguez,dispensation,guntur,undefined,harpercollins,unionism,meena,leveling,philippa,refractory,telstra,judea,attenuation,pylons,elaboration,elegy,edging,gracillariidae,residencies,absentia,reflexive,deportations,dichotomy,stoves,sanremo,shimon,menachem,corneal,conifers,mordellidae,facsimile,diagnoses,cowper,citta,viticulture,divisive,riverview,foals,mystics,polyhedron,plazas,airspeed,redgrave,motherland,impede,multiplicity,barrichello,airships,pharmacists,harvester,clays,payloads,differentiating,popularize,caesars,tunneling,stagnant,circadian,indemnity,sensibilities,musicology,prefects,serfs,metra,lillehammer,carmarthenshire,kiosks,welland,barbican,alkyl,tillandsia,gatherers,asociacion,showings,bharati,brandywine,subversion,scalable,pfizer,dawla,barium,dardanelles,nsdap,konig,ayutthaya,hodgkin,sedimentation,completions,purchasers,sponsorships,maximizing,banked,taoism,minot,enrolls,fructose,aspired,capuchin,outages,artois,carrollton,totality,osceola,pawtucket,fontainebleau,converged,queretaro,competencies,botha,allotments,sheaf,shastri,obliquely,banding,catharines,outwardly,monchengladbach,driest,contemplative,cassini,ranga,pundit,kenilworth,tiananmen,disulfide,formula_35,townlands,codice_3,looping,caravans,rachmaninoff,segmentation,fluorine,anglicised,gnostic,dessau,discern,reconfigured,altrincham,rebounding,battlecruiser,ramblers,1770s,convective,triomphe,miyagi,mourners,instagram,aloft,breastfeeding,courtyards,folkestone,changsha,kumamoto,saarland,grayish,provisionally,appomattox,uncial,classicism,mahindra,elapsed,supremes,monophyletic,cautioned,formula_36,noblewoman,kernels,sucre,swaps,bengaluru,grenfell,epicenter,rockhampton,worshipful,licentiate,metaphorical,malankara,amputated,wattle,palawan,tankobon,nobunaga,polyhedra,transduction,jilin,syrians,affinities,fluently,emanating,anglicized,sportscar,botanists,altona,dravida,chorley,allocations,kunming,luanda,premiering,outlived,mesoamerica,lingual,dissipating,impairments,attenborough,balustrade,emulator,bakhsh,cladding,increments,ascents,workington,qal'eh,winless,categorical,petrel,emphasise,dormer,toros,hijackers,telescopic,solidly,jankovic,cession,gurus,madoff,newry,subsystems,northside,talib,englishmen,farnese,holographic,electives,argonne,scrivener,predated,brugge,nauvoo,catalyses,soared,siddeley,graphically,powerlifting,funicular,sungai,coercive,fusing,uncertainties,locos,acetic,diverge,wedgwood,dressings,tiebreaker,didactic,vyacheslav,acreage,interplanetary,battlecruisers,sunbury,alkaloids,hairpin,automata,wielkie,interdiction,plugins,monkees,nudibranch,esporte,approximations,disabling,powering,characterisation,ecologically,martinsville,termen,perpetuated,lufthansa,ascendancy,motherboard,bolshoi,athanasius,prunus,dilution,invests,nonzero,mendocino,charan,banque,shaheed,counterculture,unita,voivode,hospitalization,vapour,supermarine,resistor,steppes,osnabruck,intermediates,benzodiazepines,sunnyside,privatized,geopolitical,ponta,beersheba,kievan,embody,theoretic,sangh,cartographer,blige,rotors,thruway,battlefields,discernible,demobilized,broodmare,colouration,sagas,policymakers,serialization,augmentation,hoare,frankfurter,transnistria,kinases,detachable,generational,converging,antiaircraft,khaki,bimonthly,coadjutor,arkhangelsk,kannur,buffers,livonian,northwich,enveloped,cysts,yokozuna,herne,beeching,enron,virginian,woollen,excepting,competitively,outtakes,recombinant,hillcrest,clearances,pathe,cumbersome,brasov,u.s.a,likud,christiania,cruciform,hierarchies,wandsworth,lupin,resins,voiceover,sitar,electrochemical,mediacorp,typhus,grenadiers,hepatic,pompeii,weightlifter,bosniak,oxidoreductase,undersecretary,rescuers,ranji,seleucid,analysing,exegesis,tenancy,toure,kristiansand,110th,carillon,minesweepers,poitou,acceded,palladian,redevelop,naismith,rifled,proletariat,shojo,hackensack,harvests,endpoint,kuban,rosenborg,stonehenge,authorisation,jacobean,revocation,compatriots,colliding,undetermined,okayama,acknowledgment,angelou,fresnel,chahar,ethereal,mg/kg,emmet,mobilised,unfavourable,cultura,characterizing,parsonage,skeptics,expressways,rabaul,medea,guardsmen,visakhapatnam,caddo,homophobic,elmwood,encircling,coexistence,contending,seljuk,mycologist,infertility,moliere,insolvent,covenants,underpass,holme,landesliga,workplaces,delinquency,methamphetamine,contrived,tableau,tithes,overlying,usurped,contingents,spares,oligocene,molde,beatification,mordechai,balloting,pampanga,navigators,flowered,debutant,codec,orogeny,newsletters,solon,ambivalent,ubisoft,archdeaconry,harpers,kirkus,jabal,castings,kazhagam,sylhet,yuwen,barnstaple,amidships,causative,isuzu,watchtower,granules,canaveral,remuneration,insurer,payout,horizonte,integrative,attributing,kiwis,skanderbeg,asymmetry,gannett,urbanism,disassembled,unaltered,precluded,melodifestivalen,ascends,plugin,gurkha,bisons,stakeholder,industrialisation,abbotsford,sextet,bustling,uptempo,slavia,choreographers,midwives,haram,javed,gazetteer,subsection,natively,weighting,lysine,meera,redbridge,muchmusic,abruzzo,adjoins,unsustainable,foresters,kbit/s,cosmopterigidae,secularism,poetics,causality,phonograph,estudiantes,ceausescu,universitario,adjoint,applicability,gastropods,nagaland,kentish,mechelen,atalanta,woodpeckers,lombards,gatineau,romansh,avraham,acetylcholine,perturbation,galois,wenceslaus,fuzhou,meandering,dendritic,sacristy,accented,katha,therapeutics,perceives,unskilled,greenhouses,analogues,chaldean,timbre,sloped,volodymyr,sadiq,maghreb,monogram,rearguard,caucuses,mures,metabolite,uyezd,determinism,theosophical,corbet,gaels,disruptions,bicameral,ribosomal,wolseley,clarksville,watersheds,tarsi,radon,milanese,discontinuous,aristotelian,whistleblower,representational,hashim,modestly,localised,atrial,hazara,ravana,troyes,appointees,rubus,morningside,amity,aberdare,ganglia,wests,zbigniew,aerobatic,depopulated,corsican,introspective,twinning,hardtop,shallower,cataract,mesolithic,emblematic,graced,lubrication,republicanism,voronezh,bastions,meissen,irkutsk,oboes,hokkien,sprites,tenet,individualist,capitulated,oakville,dysentery,orientalist,hillsides,keywords,elicited,incised,lagging,apoel,lengthening,attractiveness,marauders,sportswriter,decentralization,boltzmann,contradicts,draftsman,precipitate,solihull,norske,consorts,hauptmann,riflemen,adventists,syndromes,demolishing,customize,continuo,peripherals,seamlessly,linguistically,bhushan,orphanages,paraul,lessened,devanagari,quarto,responders,patronymic,riemannian,altoona,canonization,honouring,geodetic,exemplifies,republica,enzymatic,porters,fairmount,pampa,sufferers,kamchatka,conjugated,coachella,uthman,repositories,copious,headteacher,awami,phoneme,homomorphism,franconian,moorland,davos,quantified,kamloops,quarks,mayoralty,weald,peacekeepers,valerian,particulate,insiders,perthshire,caches,guimaraes,piped,grenadines,kosciuszko,trombonist,artemisia,covariance,intertidal,soybeans,beatified,ellipse,fruiting,deafness,dnipropetrovsk,accrued,zealous,mandala,causation,junius,kilowatt,bakeries,montpelier,airdrie,rectified,bungalows,toleration,debian,pylon,trotskyist,posteriorly,two-and-a-half,herbivorous,islamists,poetical,donne,wodehouse,frome,allium,assimilate,phonemic,minaret,unprofitable,darpa,untenable,leaflet,bitcoin,zahir,thresholds,argentino,jacopo,bespoke,stratified,wellbeing,shiite,basaltic,timberwolves,secrete,taunts,marathons,isomers,carre,consecrators,penobscot,pitcairn,sakha,crosstown,inclusions,impassable,fenders,indre,uscgc,jordi,retinue,logarithmic,pilgrimages,railcar,cashel,blackrock,macroscopic,aligning,tabla,trestle,certify,ronson,palps,dissolves,thickened,silicate,taman,walsingham,hausa,lowestoft,rondo,oleksandr,cuyahoga,retardation,countering,cricketing,holborn,identifiers,hells,geophysics,infighting,sculpting,balaji,webbed,irradiation,runestone,trusses,oriya,sojourn,forfeiture,colonize,exclaimed,eucharistic,lackluster,glazing,northridge,gutenberg,stipulates,macroeconomic,priori,outermost,annular,udinese,insulating,headliner,godel,polytope,megalithic,salix,sharapova,derided,muskegon,braintree,plateaus,confers,autocratic,isomer,interstitial,stamping,omits,kirtland,hatchery,evidences,intifada,111th,podgorica,capua,motivating,nuneaton,jakub,korsakov,amitabh,mundial,monrovia,gluten,predictor,marshalling,d'orleans,levers,touchscreen,brantford,fricative,banishment,descendent,antagonism,ludovico,loudspeakers,formula_37,livelihoods,manassas,steamships,dewsbury,uppermost,humayun,lures,pinnacles,dependents,lecce,clumps,observatories,paleozoic,dedicating,samiti,draughtsman,gauls,incite,infringing,nepean,pythagorean,convents,triumvirate,seigneur,gaiman,vagrant,fossa,byproduct,serrated,renfrewshire,sheltering,achaemenid,dukedom,catchers,sampdoria,platelet,bielefeld,fluctuating,phenomenology,strikeout,ethnology,prospectors,woodworking,tatra,wildfires,meditations,agrippa,fortescue,qureshi,wojciech,methyltransferase,accusative,saatchi,amerindian,volcanism,zeeland,toyama,vladimirovich,allege,polygram,redox,budgeted,advisories,nematode,chipset,starscream,tonbridge,hardening,shales,accompanist,paraded,phonographic,whitefish,sportive,audiobook,kalisz,hibernation,latif,duels,ps200,coxeter,nayak,safeguarding,cantabria,minesweeping,zeiss,dunams,catholicos,sawtooth,ontological,nicobar,bridgend,unclassified,intrinsically,hanoverian,rabbitohs,kenseth,alcalde,northumbrian,raritan,septuagint,presse,sevres,origen,dandenong,peachtree,intersected,impeded,usages,hippodrome,novara,trajectories,customarily,yardage,inflected,yanow,kalan,taverns,liguria,librettist,intermarriage,1760s,courant,gambier,infanta,ptolemaic,ukulele,haganah,sceptical,manchukuo,plexus,implantation,hilal,intersex,efficiencies,arbroath,hagerstown,adelphi,diario,marais,matti,lifes,coining,modalities,divya,bletchley,conserving,ivorian,mithridates,generative,strikeforce,laymen,toponymy,pogrom,satya,meticulously,agios,dufferin,yaakov,fortnightly,cargoes,deterrence,prefrontal,przemysl,mitterrand,commemorations,chatsworth,gurdwara,abuja,chakraborty,badajoz,geometries,artiste,diatonic,ganglion,presides,marymount,nanak,cytokines,feudalism,storks,rowers,widens,politico,evangelicals,assailants,pittsfield,allowable,bijapur,telenovelas,dichomeris,glenelg,herbivores,keita,inked,radom,fundraisers,constantius,boheme,portability,komnenos,crystallography,derrida,moderates,tavistock,fateh,spacex,disjoint,bristles,commercialized,interwoven,empirically,regius,bulacan,newsday,showa,radicalism,yarrow,pleura,sayed,structuring,cotes,reminiscences,acetyl,edicts,escalators,aomori,encapsulated,legacies,bunbury,placings,fearsome,postscript,powerfully,keighley,hildesheim,amicus,crevices,deserters,benelux,aurangabad,freeware,ioannis,carpathians,chirac,seceded,prepaid,landlocked,naturalised,yanukovych,soundscan,blotch,phenotypic,determinants,twente,dictatorial,giessen,composes,recherche,pathophysiology,inventories,ayurveda,elevating,gravestone,degeneres,vilayet,popularizing,spartanburg,bloemfontein,previewed,renunciation,genotype,ogilvy,tracery,blacklisted,emissaries,diploid,disclosures,tupolev,shinjuku,antecedents,pennine,braganza,bhattacharya,countable,spectroscopic,ingolstadt,theseus,corroborated,compounding,thrombosis,extremadura,medallions,hasanabad,lambton,perpetuity,glycol,besancon,palaiologos,pandey,caicos,antecedent,stratum,laserdisc,novitiate,crowdfunding,palatal,sorceress,dassault,toughness,celle,cezanne,vientiane,tioga,hander,crossbar,gisborne,cursor,inspectorate,serif,praia,sphingidae,nameplate,psalter,ivanovic,sitka,equalised,mutineers,sergius,outgrowth,creationism,haredi,rhizomes,predominate,undertakings,vulgate,hydrothermal,abbeville,geodesic,kampung,physiotherapy,unauthorised,asteraceae,conservationist,minoan,supersport,mohammadabad,cranbrook,mentorship,legitimately,marshland,datuk,louvain,potawatomi,carnivores,levies,lyell,hymnal,regionals,tinto,shikoku,conformal,wanganui,beira,lleida,standstill,deloitte,formula_40,corbusier,chancellery,mixtapes,airtime,muhlenberg,formula_39,bracts,thrashers,prodigious,gironde,chickamauga,uyghurs,substitutions,pescara,batangas,gregarious,gijon,paleo,mathura,pumas,proportionally,hawkesbury,yucca,kristiania,funimation,fluted,eloquence,mohun,aftermarket,chroniclers,futurist,nonconformist,branko,mannerisms,lesnar,opengl,altos,retainers,ashfield,shelbourne,sulaiman,divisie,gwent,locarno,lieder,minkowski,bivalve,redeployed,cartography,seaway,bookings,decays,ostend,antiquaries,pathogenesis,formula_38,chrysalis,esperance,valli,motogp,homelands,bridged,bloor,ghazal,vulgaris,baekje,prospector,calculates,debtors,hesperiidae,titian,returner,landgrave,frontenac,kelowna,pregame,castelo,caius,canoeist,watercolours,winterthur,superintendents,dissonance,dubstep,adorn,matic,salih,hillel,swordsman,flavoured,emitter,assays,monongahela,deeded,brazzaville,sufferings,babylonia,fecal,umbria,astrologer,gentrification,frescos,phasing,zielona,ecozone,candido,manoj,quadrilateral,gyula,falsetto,prewar,puntland,infinitive,contraceptive,bakhtiari,ohrid,socialization,tailplane,evoking,havelock,macapagal,plundering,104th,keynesian,templars,phrasing,morphologically,czestochowa,humorously,catawba,burgas,chiswick,ellipsoid,kodansha,inwards,gautama,katanga,orthopaedic,heilongjiang,sieges,outsourced,subterminal,vijayawada,hares,oration,leitrim,ravines,manawatu,cryogenic,tracklisting,about.com,ambedkar,degenerated,hastened,venturing,lobbyists,shekhar,typefaces,northcote,rugen,'good,ornithology,asexual,hemispheres,unsupported,glyphs,spoleto,epigenetic,musicianship,donington,diogo,kangxi,bisected,polymorphism,megawatt,salta,embossed,cheetahs,cruzeiro,unhcr,aristide,rayleigh,maturing,indonesians,noire,llano,ffffff,camus,purges,annales,convair,apostasy,algol,phage,apaches,marketers,aldehyde,pompidou,kharkov,forgeries,praetorian,divested,retrospectively,gornji,scutellum,bitumen,pausanias,magnification,imitations,nyasaland,geographers,floodlights,athlone,hippolyte,expositions,clarinetist,razak,neutrinos,rotax,sheykh,plush,interconnect,andalus,cladogram,rudyard,resonator,granby,blackfriars,placido,windscreen,sahel,minamoto,haida,cations,emden,blackheath,thematically,blacklist,pawel,disseminating,academical,undamaged,raytheon,harsher,powhatan,ramachandran,saddles,paderborn,capping,zahra,prospecting,glycine,chromatin,profane,banska,helmand,okinawan,dislocation,oscillators,insectivorous,foyle,gilgit,autonomic,tuareg,sluice,pollinated,multiplexed,granary,narcissus,ranchi,staines,nitra,goalscoring,midwifery,pensioners,algorithmic,meetinghouse,biblioteca,besar,narva,angkor,predate,lohan,cyclical,detainee,occipital,eventing,faisalabad,dartmoor,kublai,courtly,resigns,radii,megachilidae,cartels,shortfall,xhosa,unregistered,benchmarks,dystopian,bulkhead,ponsonby,jovanovic,accumulates,papuan,bhutanese,intuitively,gotaland,headliners,recursion,dejan,novellas,diphthongs,imbued,withstood,analgesic,amplify,powertrain,programing,maidan,alstom,affirms,eradicated,summerslam,videogame,molla,severing,foundered,gallium,atmospheres,desalination,shmuel,howmeh,catolica,bossier,reconstructing,isolates,lyase,tweets,unconnected,tidewater,divisible,cohorts,orebro,presov,furnishing,folklorist,simplifying,centrale,notations,factorization,monarchies,deepen,macomb,facilitation,hennepin,declassified,redrawn,microprocessors,preliminaries,enlarging,timeframe,deutschen,shipbuilders,patiala,ferrous,aquariums,genealogies,vieux,unrecognized,bridgwater,tetrahedral,thule,resignations,gondwana,registries,agder,dataset,felled,parva,analyzer,worsen,coleraine,columella,blockaded,polytechnique,reassembled,reentry,narvik,greys,nigra,knockouts,bofors,gniezno,slotted,hamasaki,ferrers,conferring,thirdly,domestication,photojournalist,universality,preclude,ponting,halved,thereupon,photosynthetic,ostrava,mismatch,pangasinan,intermediaries,abolitionists,transited,headings,ustase,radiological,interconnection,dabrowa,invariants,honorius,preferentially,chantilly,marysville,dialectical,antioquia,abstained,gogol,dirichlet,muricidae,symmetries,reproduces,brazos,fatwa,bacillus,ketone,paribas,chowk,multiplicative,dermatitis,mamluks,devotes,adenosine,newbery,meditative,minefields,inflection,oxfam,conwy,bystrica,imprints,pandavas,infinitesimal,conurbation,amphetamine,reestablish,furth,edessa,injustices,frankston,serjeant,4x200,khazar,sihanouk,longchamp,stags,pogroms,coups,upperparts,endpoints,infringed,nuanced,summing,humorist,pacification,ciaran,jamaat,anteriorly,roddick,springboks,faceted,hypoxia,rigorously,cleves,fatimid,ayurvedic,tabled,ratna,senhora,maricopa,seibu,gauguin,holomorphic,campgrounds,amboy,coordinators,ponderosa,casemates,ouachita,nanaimo,mindoro,zealander,rimsky,cluny,tomaszow,meghalaya,caetano,tilak,roussillon,landtag,gravitation,dystrophy,cephalopods,trombones,glens,killarney,denominated,anthropogenic,pssas,roubaix,carcasses,montmorency,neotropical,communicative,rabindranath,ordinated,separable,overriding,surged,sagebrush,conciliation,codice_4,durrani,phosphatase,qadir,votive,revitalized,taiyuan,tyrannosaurus,graze,slovaks,nematodes,environmentalism,blockhouse,illiteracy,schengen,ecotourism,alternation,conic,wields,hounslow,blackfoot,kwame,ambulatory,volhynia,hordaland,croton,piedras,rohit,drava,conceptualized,birla,illustrative,gurgaon,barisal,tutsi,dezong,nasional,polje,chanson,clarinets,krasnoyarsk,aleksandrovich,cosmonaut,d'este,palliative,midseason,silencing,wardens,durer,girders,salamanders,torrington,supersonics,lauda,farid,circumnavigation,embankments,funnels,bajnoksag,lorries,cappadocia,jains,warringah,retirees,burgesses,equalization,cusco,ganesan,algal,amazonian,lineups,allocating,conquerors,usurper,mnemonic,predating,brahmaputra,ahmadabad,maidenhead,numismatic,subregion,encamped,reciprocating,freebsd,irgun,tortoises,governorates,zionists,airfoil,collated,ajmer,fiennes,etymological,polemic,chadian,clerestory,nordiques,fluctuated,calvados,oxidizing,trailhead,massena,quarrels,dordogne,tirunelveli,pyruvate,pulsed,athabasca,sylar,appointee,serer,japonica,andronikos,conferencing,nicolaus,chemin,ascertained,incited,woodbine,helices,hospitalised,emplacements,to/from,orchestre,tyrannical,pannonia,methodism,pop/rock,shibuya,berbers,despot,seaward,westpac,separator,perpignan,alamein,judeo,publicize,quantization,ethniki,gracilis,menlo,offside,oscillating,unregulated,succumbing,finnmark,metrical,suleyman,raith,sovereigns,bundesstrasse,kartli,fiduciary,darshan,foramen,curler,concubines,calvinism,larouche,bukhara,sophomores,mohanlal,lutheranism,monomer,eamonn,'black,uncontested,immersive,tutorials,beachhead,bindings,permeable,postulates,comite,transformative,indiscriminate,hofstra,associacao,amarna,dermatology,lapland,aosta,babur,unambiguous,formatting,schoolboys,gwangju,superconducting,replayed,adherent,aureus,compressors,forcible,spitsbergen,boulevards,budgeting,nossa,annandale,perumal,interregnum,sassoon,kwajalein,greenbrier,caldas,triangulation,flavius,increment,shakhtar,nullified,pinfall,nomen,microfinance,depreciation,cubist,steeper,splendour,gruppe,everyman,chasers,campaigners,bridle,modality,percussive,darkly,capes,velar,picton,triennial,factional,padang,toponym,betterment,norepinephrine,112th,estuarine,diemen,warehousing,morphism,ideologically,pairings,immunization,crassus,exporters,sefer,flocked,bulbous,deseret,booms,calcite,bohol,elven,groot,pulau,citigroup,wyeth,modernizing,layering,pastiche,complies,printmaker,condenser,theropod,cassino,oxyrhynchus,akademie,trainings,lowercase,coxae,parte,chetniks,pentagonal,keselowski,monocoque,morsi,reticulum,meiosis,clapboard,recoveries,tinge,an/fps,revista,sidon,livre,epidermis,conglomerates,kampong,congruent,harlequins,tergum,simplifies,epidemiological,underwriting,tcp/ip,exclusivity,multidimensional,mysql,columbine,ecologist,hayat,sicilies,levees,handset,aesop,usenet,pacquiao,archiving,alexandrian,compensatory,broadsheet,annotation,bahamian,d'affaires,interludes,phraya,shamans,marmara,customizable,immortalized,ambushes,chlorophyll,diesels,emulsion,rheumatoid,voluminous,screenwriters,tailoring,sedis,runcorn,democratization,bushehr,anacostia,constanta,antiquary,sixtus,radiate,advaita,antimony,acumen,barristers,reichsbahn,ronstadt,symbolist,pasig,cursive,secessionist,afrikaner,munnetra,inversely,adsorption,syllabic,moltke,idioms,midline,olimpico,diphosphate,cautions,radziwill,mobilisation,copelatus,trawlers,unicron,bhaskar,financiers,minimalism,derailment,marxists,oireachtas,abdicate,eigenvalue,zafar,vytautas,ganguly,chelyabinsk,telluride,subordination,ferried,dived,vendee,pictish,dimitrov,expiry,carnation,cayley,magnitudes,lismore,gretna,sandwiched,unmasked,sandomierz,swarthmore,tetra,nanyang,pevsner,dehradun,mormonism,rashi,complying,seaplanes,ningbo,cooperates,strathcona,mornington,mestizo,yulia,edgbaston,palisade,ethno,polytopes,espirito,tymoshenko,pronunciations,paradoxical,taichung,chipmunks,erhard,maximise,accretion,kanda,`abdu'l,narrowest,umpiring,mycenaean,divisor,geneticist,ceredigion,barque,hobbyists,equates,auxerre,spinose,cheil,sweetwater,guano,carboxylic,archiv,tannery,cormorant,agonists,fundacion,anbar,tunku,hindrance,meerut,concordat,secunderabad,kachin,achievable,murfreesboro,comprehensively,forges,broadest,synchronised,speciation,scapa,aliyev,conmebol,tirelessly,subjugated,pillaged,udaipur,defensively,lakhs,stateless,haasan,headlamps,patterning,podiums,polyphony,mcmurdo,mujer,vocally,storeyed,mucosa,multivariate,scopus,minimizes,formalised,certiorari,bourges,populate,overhanging,gaiety,unreserved,borromeo,woolworths,isotopic,bashar,purify,vertebra,medan,juxtaposition,earthwork,elongation,chaudhary,schematic,piast,steeped,nanotubes,fouls,achaea,legionnaires,abdur,qmjhl,embraer,hardback,centerville,ilocos,slovan,whitehorse,mauritian,moulding,mapuche,donned,provisioning,gazprom,jonesboro,audley,lightest,calyx,coldwater,trigonometric,petroglyphs,psychoanalyst,congregate,zambezi,fissure,supervises,bexley,etobicoke,wairarapa,tectonics,emphasises,formula_41,debugging,linfield,spatially,ionizing,ungulates,orinoco,clades,erlangen,news/talk,vols.,ceara,yakovlev,finsbury,entanglement,fieldhouse,graphene,intensifying,grigory,keyong,zacatecas,ninian,allgemeine,keswick,societa,snorri,femininity,najib,monoclonal,guyanese,postulate,huntly,abbeys,machinist,yunus,emphasising,ishaq,urmia,bremerton,pretenders,lumiere,thoroughfares,chikara,dramatized,metathorax,taiko,transcendence,wycliffe,retrieves,umpired,steuben,racehorses,taylors,kuznetsov,montezuma,precambrian,canopies,gaozong,propodeum,disestablished,retroactive,shoreham,rhizome,doubleheader,clinician,diwali,quartzite,shabaab,agassiz,despatched,stormwater,luxemburg,callao,universidade,courland,skane,glyph,dormers,witwatersrand,curacy,qualcomm,nansen,entablature,lauper,hausdorff,lusaka,ruthenian,360deg,cityscape,douai,vaishnava,spars,vaulting,rationalist,gygax,sequestration,typology,pollinates,accelerators,leben,colonials,cenotaph,imparted,carthaginians,equaled,rostrum,gobind,bodhisattva,oberst,bicycling,arabi,sangre,biophysics,hainaut,vernal,lunenburg,apportioned,finches,lajos,nenad,repackaged,zayed,nikephoros,r.e.m,swaminarayan,gestalt,unplaced,crags,grohl,sialkot,unsaturated,gwinnett,linemen,forays,palakkad,writs,instrumentalists,aircrews,badged,terrapins,180deg,oneness,commissariat,changi,pupation,circumscribed,contador,isotropic,administrated,fiefs,nimes,intrusions,minoru,geschichte,nadph,tainan,changchun,carbondale,frisia,swapo,evesham,hawai'i,encyclopedic,transporters,dysplasia,formula_42,onsite,jindal,guetta,judgements,narbonne,permissions,paleogene,rationalism,vilna,isometric,subtracted,chattahoochee,lamina,missa,greville,pervez,lattices,persistently,crystallization,timbered,hawaiians,fouling,interrelated,masood,ripening,stasi,gamal,visigothic,warlike,cybernetics,tanjung,forfar,cybernetic,karelian,brooklands,belfort,greifswald,campeche,inexplicably,refereeing,understory,uninterested,prius,collegiately,sefid,sarsfield,categorize,biannual,elsevier,eisteddfod,declension,autonoma,procuring,misrepresentation,novelization,bibliographic,shamanism,vestments,potash,eastleigh,ionized,turan,lavishly,scilly,balanchine,importers,parlance,'that,kanyakumari,synods,mieszko,crossovers,serfdom,conformational,legislated,exclave,heathland,sadar,differentiates,propositional,konstantinos,photoshop,manche,vellore,appalachia,orestes,taiga,exchanger,grozny,invalidated,baffin,spezia,staunchly,eisenach,robustness,virtuosity,ciphers,inlets,bolagh,understandings,bosniaks,parser,typhoons,sinan,luzerne,webcomic,subtraction,jhelum,businessweek,ceske,refrained,firebox,mitigated,helmholtz,dilip,eslamabad,metalwork,lucan,apportionment,provident,gdynia,schooners,casement,danse,hajjiabad,benazir,buttress,anthracite,newsreel,wollaston,dispatching,cadastral,riverboat,provincetown,nantwich,missal,irreverent,juxtaposed,darya,ennobled,electropop,stereoscopic,maneuverability,laban,luhansk,udine,collectibles,haulage,holyrood,materially,supercharger,gorizia,shkoder,townhouses,pilate,layoffs,folkloric,dialectic,exuberant,matures,malla,ceuta,citizenry,crewed,couplet,stopover,transposition,tradesmen,antioxidant,amines,utterance,grahame,landless,isere,diction,appellant,satirist,urbino,intertoto,subiaco,antonescu,nehemiah,ubiquitin,emcee,stourbridge,fencers,103rd,wranglers,monteverdi,watertight,expounded,xiamen,manmohan,pirie,threefold,antidepressant,sheboygan,grieg,cancerous,diverging,bernini,polychrome,fundamentalism,bihari,critiqued,cholas,villers,tendulkar,dafydd,vastra,fringed,evangelization,episcopalian,maliki,sana'a,ashburton,trianon,allegany,heptathlon,insufficiently,panelists,pharrell,hexham,amharic,fertilized,plumes,cistern,stratigraphy,akershus,catalans,karoo,rupee,minuteman,quantification,wigmore,leutnant,metanotum,weeknights,iridescent,extrasolar,brechin,deuterium,kuching,lyricism,astrakhan,brookhaven,euphorbia,hradec,bhagat,vardar,aylmer,positron,amygdala,speculators,unaccompanied,debrecen,slurry,windhoek,disaffected,rapporteur,mellitus,blockers,fronds,yatra,sportsperson,precession,physiologist,weeknight,pidgin,pharma,condemns,standardize,zetian,tibor,glycoprotein,emporia,cormorants,amalie,accesses,leonhard,denbighshire,roald,116th,will.i.am,symbiosis,privatised,meanders,chemnitz,jabalpur,shing,secede,ludvig,krajina,homegrown,snippets,sasanian,euripides,peder,cimarron,streaked,graubunden,kilimanjaro,mbeki,middleware,flensburg,bukovina,lindwall,marsalis,profited,abkhaz,polis,camouflaged,amyloid,morgantown,ovoid,bodleian,morte,quashed,gamelan,juventud,natchitoches,storyboard,freeview,enumeration,cielo,preludes,bulawayo,1600s,olympiads,multicast,faunal,asura,reinforces,puranas,ziegfeld,handicraft,seamount,kheil,noche,hallmarks,dermal,colorectal,encircle,hessen,umbilicus,sunnis,leste,unwin,disclosing,superfund,montmartre,refuelling,subprime,kolhapur,etiology,bismuth,laissez,vibrational,mazar,alcoa,rumsfeld,recurve,ticonderoga,lionsgate,onlookers,homesteads,filesystem,barometric,kingswood,biofuel,belleza,moshav,occidentalis,asymptomatic,northeasterly,leveson,huygens,numan,kingsway,primogeniture,toyotomi,yazoo,limpets,greenbelt,booed,concurrence,dihedral,ventrites,raipur,sibiu,plotters,kitab,109th,trackbed,skilful,berthed,effendi,fairing,sephardi,mikhailovich,lockyer,wadham,invertible,paperbacks,alphabetic,deuteronomy,constitutive,leathery,greyhounds,estoril,beechcraft,poblacion,cossidae,excreted,flamingos,singha,olmec,neurotransmitters,ascoli,nkrumah,forerunners,dualism,disenchanted,benefitted,centrum,undesignated,noida,o'donoghue,collages,egrets,egmont,wuppertal,cleave,montgomerie,pseudomonas,srinivasa,lymphatic,stadia,resold,minima,evacuees,consumerism,ronde,biochemist,automorphism,hollows,smuts,improvisations,vespasian,bream,pimlico,eglin,colne,melancholic,berhad,ousting,saale,notaulices,ouest,hunslet,tiberias,abdomina,ramsgate,stanislas,donbass,pontefract,sucrose,halts,drammen,chelm,l'arc,taming,trolleys,konin,incertae,licensees,scythian,giorgos,dative,tanglewood,farmlands,o'keeffe,caesium,romsdal,amstrad,corte,oglethorpe,huntingdonshire,magnetization,adapts,zamosc,shooto,cuttack,centrepiece,storehouse,winehouse,morbidity,woodcuts,ryazan,buddleja,buoyant,bodmin,estero,austral,verifiable,periyar,christendom,curtail,shura,kaifeng,cotswold,invariance,seafaring,gorica,androgen,usman,seabird,forecourt,pekka,juridical,audacious,yasser,cacti,qianlong,polemical,d'amore,espanyol,distrito,cartographers,pacifism,serpents,backa,nucleophilic,overturning,duplicates,marksman,oriente,vuitton,oberleutnant,gielgud,gesta,swinburne,transfiguration,1750s,retaken,celje,fredrikstad,asuka,cropping,mansard,donates,blacksmiths,vijayanagara,anuradhapura,germinate,betis,foreshore,jalandhar,bayonets,devaluation,frazione,ablaze,abidjan,approvals,homeostasis,corollary,auden,superfast,redcliffe,luxembourgish,datum,geraldton,printings,ludhiana,honoree,synchrotron,invercargill,hurriedly,108th,three-and-a-half,colonist,bexar,limousin,bessemer,ossetian,nunataks,buddhas,rebuked,thais,tilburg,verdicts,interleukin,unproven,dordrecht,solent,acclamation,muammar,dahomey,operettas,4x400,arrears,negotiators,whitehaven,apparitions,armoury,psychoactive,worshipers,sculptured,elphinstone,airshow,kjell,o'callaghan,shrank,professorships,predominance,subhash,coulomb,sekolah,retrofitted,samos,overthrowing,vibrato,resistors,palearctic,datasets,doordarshan,subcutaneous,compiles,immorality,patchwork,trinidadian,glycogen,pronged,zohar,visigoths,freres,akram,justo,agora,intakes,craiova,playwriting,bukhari,militarism,iwate,petitioners,harun,wisla,inefficiency,vendome,ledges,schopenhauer,kashi,entombed,assesses,tenn.,noumea,baguio,carex,o'donovan,filings,hillsdale,conjectures,blotches,annuals,lindisfarne,negated,vivek,angouleme,trincomalee,cofactor,verkhovna,backfield,twofold,automaker,rudra,freighters,darul,gharana,busway,formula_43,plattsburgh,portuguesa,showrunner,roadmap,valenciennes,erdos,biafra,spiritualism,transactional,modifies,carne,107th,cocos,gcses,tiverton,radiotherapy,meadowlands,gunma,srebrenica,foxtel,authenticated,enslavement,classicist,klaipeda,minstrels,searchable,infantrymen,incitement,shiga,nadp+,urals,guilders,banquets,exteriors,counterattacks,visualized,diacritics,patrimony,svensson,transepts,prizren,telegraphy,najaf,emblazoned,coupes,effluent,ragam,omani,greensburg,taino,flintshire,cd/dvd,lobbies,narrating,cacao,seafarers,bicolor,collaboratively,suraj,floodlit,sacral,puppetry,tlingit,malwa,login,motionless,thien,overseers,vihar,golem,specializations,bathhouse,priming,overdubs,winningest,archetypes,uniao,acland,creamery,slovakian,lithographs,maryborough,confidently,excavating,stillborn,ramallah,audiencia,alava,ternary,hermits,rostam,bauxite,gawain,lothair,captions,gulfstream,timelines,receded,mediating,petain,bastia,rudbar,bidders,disclaimer,shrews,tailings,trilobites,yuriy,jamil,demotion,gynecology,rajinikanth,madrigals,ghazni,flycatchers,vitebsk,bizet,computationally,kashgar,refinements,frankford,heralds,europe/africa,levante,disordered,sandringham,queues,ransacked,trebizond,verdes,comedie,primitives,figurine,organists,culminate,gosport,coagulation,ferrying,hoyas,polyurethane,prohibitive,midfielders,ligase,progesterone,defectors,sweetened,backcountry,diodorus,waterside,nieuport,khwaja,jurong,decried,gorkha,ismaili,300th,octahedral,kindergartens,paseo,codification,notifications,disregarding,risque,reconquista,shortland,atolls,texarkana,perceval,d'etudes,kanal,herbicides,tikva,nuova,gatherer,dissented,soweto,dexterity,enver,bacharach,placekicker,carnivals,automate,maynooth,symplectic,chetnik,militaire,upanishads,distributive,strafing,championing,moiety,miliband,blackadder,enforceable,maung,dimer,stadtbahn,diverges,obstructions,coleophoridae,disposals,shamrocks,aural,banca,bahru,coxed,grierson,vanadium,watermill,radiative,ecoregions,berets,hariri,bicarbonate,evacuations,mallee,nairn,rushden,loggia,slupsk,satisfactorily,milliseconds,cariboo,reine,cyclo,pigmentation,postmodernism,aqueducts,vasari,bourgogne,dilemmas,liquefied,fluminense,alloa,ibaraki,tenements,kumasi,humerus,raghu,labours,putsch,soundcloud,bodybuilder,rakyat,domitian,pesaro,translocation,sembilan,homeric,enforcers,tombstones,lectureship,rotorua,salamis,nikolaos,inferences,superfortress,lithgow,surmised,undercard,tarnow,barisan,stingrays,federacion,coldstream,haverford,ornithological,heerenveen,eleazar,jyoti,murali,bamako,riverbed,subsidised,theban,conspicuously,vistas,conservatorium,madrasa,kingfishers,arnulf,credential,syndicalist,sheathed,discontinuity,prisms,tsushima,coastlines,escapees,vitis,optimizing,megapixel,overground,embattled,halide,sprinters,buoys,mpumalanga,peculiarities,106th,roamed,menezes,macao,prelates,papyri,freemen,dissertations,irishmen,pooled,sverre,reconquest,conveyance,subjectivity,asturian,circassian,formula_45,comdr,thickets,unstressed,monro,passively,harmonium,moveable,dinar,carlsson,elysees,chairing,b'nai,confusingly,kaoru,convolution,godolphin,facilitator,saxophones,eelam,jebel,copulation,anions,livres,licensure,pontypridd,arakan,controllable,alessandria,propelling,stellenbosch,tiber,wolka,liberators,yarns,d'azur,tsinghua,semnan,amhara,ablation,melies,tonality,historique,beeston,kahne,intricately,sonoran,robespierre,gyrus,boycotts,defaulted,infill,maranhao,emigres,framingham,paraiba,wilhelmshaven,tritium,skyway,labial,supplementation,possessor,underserved,motets,maldivian,marrakech,quays,wikimedia,turbojet,demobilization,petrarch,encroaching,sloops,masted,karbala,corvallis,agribusiness,seaford,stenosis,hieronymus,irani,superdraft,baronies,cortisol,notability,veena,pontic,cyclin,archeologists,newham,culled,concurring,aeolian,manorial,shouldered,fords,philanthropists,105th,siddharth,gotthard,halim,rajshahi,jurchen,detritus,practicable,earthenware,discarding,travelogue,neuromuscular,elkhart,raeder,zygmunt,metastasis,internees,102nd,vigour,upmarket,summarizing,subjunctive,offsets,elizabethtown,udupi,pardubice,repeaters,instituting,archaea,substandard,technische,linga,anatomist,flourishes,velika,tenochtitlan,evangelistic,fitchburg,springbok,cascading,hydrostatic,avars,occasioned,filipina,perceiving,shimbun,africanus,consternation,tsing,optically,beitar,45deg,abutments,roseville,monomers,huelva,lotteries,hypothalamus,internationalist,electromechanical,hummingbirds,fibreglass,salaried,dramatists,uncovers,invokes,earners,excretion,gelding,ancien,aeronautica,haverhill,stour,ittihad,abramoff,yakov,ayodhya,accelerates,industrially,aeroplanes,deleterious,dwelt,belvoir,harpalus,atpase,maluku,alasdair,proportionality,taran,epistemological,interferometer,polypeptide,adjudged,villager,metastatic,marshalls,madhavan,archduchess,weizmann,kalgoorlie,balan,predefined,sessile,sagaing,brevity,insecticide,psychosocial,africana,steelworks,aether,aquifers,belem,mineiro,almagro,radiators,cenozoic,solute,turbocharger,invicta,guested,buccaneer,idolatry,unmatched,paducah,sinestro,dispossessed,conforms,responsiveness,cyanobacteria,flautist,procurator,complementing,semifinalist,rechargeable,permafrost,cytokine,refuges,boomed,gelderland,franchised,jinan,burnie,doubtless,randomness,colspan=12,angra,ginebra,famers,nuestro,declarative,roughness,lauenburg,motile,rekha,issuer,piney,interceptors,napoca,gipsy,formulaic,formula_44,viswanathan,ebrahim,thessalonica,galeria,muskogee,unsold,html5,taito,mobutu,icann,carnarvon,fairtrade,morphisms,upsilon,nozzles,fabius,meander,murugan,strontium,episcopacy,sandinista,parasol,attenuated,bhima,primeval,panay,ordinator,negara,osteoporosis,glossop,ebook,paradoxically,grevillea,modoc,equating,phonetically,legumes,covariant,dorje,quatre,bruxelles,pyroclastic,shipbuilder,zhaozong,obscuring,sveriges,tremolo,extensible,barrack,multnomah,hakon,chaharmahal,parsing,volumetric,astrophysical,glottal,combinatorics,freestanding,encoder,paralysed,cavalrymen,taboos,heilbronn,orientalis,lockport,marvels,ozawa,dispositions,waders,incurring,saltire,modulate,papilio,phenol,intermedia,rappahannock,plasmid,fortify,phenotypes,transiting,correspondences,leaguer,larnaca,incompatibility,mcenroe,deeming,endeavoured,aboriginals,helmed,salar,arginine,werke,ferrand,expropriated,delimited,couplets,phoenicians,petioles,ouster,anschluss,protectionist,plessis,urchins,orquesta,castleton,juniata,bittorrent,fulani,donji,mykola,rosemont,chandos,scepticism,signer,chalukya,wicketkeeper,coquitlam,programmatic,o'brian,carteret,urology,steelhead,paleocene,konkan,bettered,venkatesh,surfacing,longitudinally,centurions,popularization,yazid,douro,widths,premios,leonards,gristmill,fallujah,arezzo,leftists,ecliptic,glycerol,inaction,disenfranchised,acrimonious,depositing,parashah,cockatoo,marechal,bolzano,chios,cablevision,impartiality,pouches,thickly,equities,bentinck,emotive,boson,ashdown,conquistadors,parsi,conservationists,reductive,newlands,centerline,ornithologists,waveguide,nicene,philological,hemel,setanta,masala,aphids,convening,casco,matrilineal,chalcedon,orthographic,hythe,replete,damming,bolivarian,admixture,embarks,borderlands,conformed,nagarjuna,blenny,chaitanya,suwon,shigeru,tatarstan,lingayen,rejoins,grodno,merovingian,hardwicke,puducherry,prototyping,laxmi,upheavals,headquarter,pollinators,bromine,transom,plantagenet,arbuthnot,chidambaram,woburn,osamu,panelling,coauthored,zhongshu,hyaline,omissions,aspergillus,offensively,electrolytic,woodcut,sodom,intensities,clydebank,piotrkow,supplementing,quipped,focke,harbinger,positivism,parklands,wolfenbuttel,cauca,tryptophan,taunus,curragh,tsonga,remand,obscura,ashikaga,eltham,forelimbs,analogs,trnava,observances,kailash,antithesis,ayumi,abyssinia,dorsally,tralee,pursuers,misadventures,padova,perot,mahadev,tarim,granth,licenced,compania,patuxent,baronial,korda,cochabamba,codices,karna,memorialized,semaphore,playlists,mandibular,halal,sivaji,scherzinger,stralsund,foundries,ribosome,mindfulness,nikolayevich,paraphyletic,newsreader,catalyze,ioannina,thalamus,gbit/s,paymaster,sarab,500th,replenished,gamepro,cracow,formula_46,gascony,reburied,lessing,easement,transposed,meurthe,satires,proviso,balthasar,unbound,cuckoos,durbar,louisbourg,cowes,wholesalers,manet,narita,xiaoping,mohamad,illusory,cathal,reuptake,alkaloid,tahrir,mmorpg,underlies,anglicanism,repton,aharon,exogenous,buchenwald,indigent,odostomia,milled,santorum,toungoo,nevsky,steyr,urbanisation,darkseid,subsonic,canaanite,akiva,eglise,dentition,mediators,cirencester,peloponnesian,malmesbury,durres,oerlikon,tabulated,saens,canaria,ischemic,esterhazy,ringling,centralization,walthamstow,nalanda,lignite,takht,leninism,expiring,circe,phytoplankton,promulgation,integrable,breeches,aalto,menominee,borgo,scythians,skrull,galleon,reinvestment,raglan,reachable,liberec,airframes,electrolysis,geospatial,rubiaceae,interdependence,symmetrically,simulcasts,keenly,mauna,adipose,zaidi,fairport,vestibular,actuators,monochromatic,literatures,congestive,sacramental,atholl,skytrain,tycho,tunings,jamia,catharina,modifier,methuen,tapings,infiltrating,colima,grafting,tauranga,halides,pontificate,phonetics,koper,hafez,grooved,kintetsu,extrajudicial,linkoping,cyberpunk,repetitions,laurentian,parnu,bretton,darko,sverdlovsk,foreshadowed,akhenaten,rehnquist,gosford,coverts,pragmatism,broadleaf,ethiopians,instated,mediates,sodra,opulent,descriptor,enugu,shimla,leesburg,officership,giffard,refectory,lusitania,cybermen,fiume,corus,tydfil,lawrenceville,ocala,leviticus,burghers,ataxia,richthofen,amicably,acoustical,watling,inquired,tiempo,multiracial,parallelism,trenchard,tokyopop,germanium,usisl,philharmonia,shapur,jacobites,latinized,sophocles,remittances,o'farrell,adder,dimitrios,peshwa,dimitar,orlov,outstretched,musume,satish,dimensionless,serialised,baptisms,pagasa,antiviral,1740s,quine,arapaho,bombardments,stratosphere,ophthalmic,injunctions,carbonated,nonviolence,asante,creoles,sybra,boilermakers,abington,bipartite,permissive,cardinality,anheuser,carcinogenic,hohenlohe,surinam,szeged,infanticide,generically,floorball,'white,automakers,cerebellar,homozygous,remoteness,effortlessly,allude,'great,headmasters,minting,manchurian,kinabalu,wemyss,seditious,widgets,marbled,almshouses,bards,subgenres,tetsuya,faulting,kickboxer,gaulish,hoseyn,malton,fluvial,questionnaires,mondale,downplayed,traditionalists,vercelli,sumatran,landfills,gamesradar,exerts,franciszek,unlawfully,huesca,diderot,libertarians,professorial,laane,piecemeal,conidae,taiji,curatorial,perturbations,abstractions,szlachta,watercraft,mullah,zoroastrianism,segmental,khabarovsk,rectors,affordability,scuola,diffused,stena,cyclonic,workpiece,romford,'little,jhansi,stalag,zhongshan,skipton,maracaibo,bernadotte,thanet,groening,waterville,encloses,sahrawi,nuffield,moorings,chantry,annenberg,islay,marchers,tenses,wahid,siegen,furstenberg,basques,resuscitation,seminarians,tympanum,gentiles,vegetarianism,tufted,venkata,fantastical,pterophoridae,machined,superposition,glabrous,kaveri,chicane,executors,phyllonorycter,bidirectional,jasta,undertones,touristic,majapahit,navratilova,unpopularity,barbadian,tinian,webcast,hurdler,rigidly,jarrah,staphylococcus,igniting,irrawaddy,stabilised,airstrike,ragas,wakayama,energetically,ekstraklasa,minibus,largemouth,cultivators,leveraging,waitangi,carnaval,weaves,turntables,heydrich,sextus,excavate,govind,ignaz,pedagogue,uriah,borrowings,gemstones,infractions,mycobacterium,batavian,massing,praetor,subalpine,massoud,passers,geostationary,jalil,trainsets,barbus,impair,budejovice,denbigh,pertain,historicity,fortaleza,nederlandse,lamenting,masterchef,doubs,gemara,conductance,ploiesti,cetaceans,courthouses,bhagavad,mihailovic,occlusion,bremerhaven,bulwark,morava,kaine,drapery,maputo,conquistador,kaduna,famagusta,first-past-the-post,erudite,galton,undated,tangential,filho,dismembered,dashes,criterium,darwen,metabolized,blurring,everard,randwick,mohave,impurity,acuity,ansbach,chievo,surcharge,plantain,algoma,porosity,zirconium,selva,sevenoaks,venizelos,gwynne,golgi,imparting,separatism,courtesan,idiopathic,gravestones,hydroelectricity,babar,orford,purposeful,acutely,shard,ridgewood,viterbo,manohar,expropriation,placenames,brevis,cosine,unranked,richfield,newnham,recoverable,flightless,dispersing,clearfield,abu'l,stranraer,kempe,streamlining,goswami,epidermal,pieta,conciliatory,distilleries,electrophoresis,bonne,tiago,curiosities,candidature,picnicking,perihelion,lintel,povoa,gullies,configure,excision,facies,signers,1730s,insufficiency,semiotics,streatham,deactivation,entomological,skippers,albacete,parodying,escherichia,honorees,singaporeans,counterterrorism,tiruchirappalli,omnivorous,metropole,globalisation,athol,unbounded,codice_5,landforms,classifier,farmhouses,reaffirming,reparation,yomiuri,technologists,mitte,medica,viewable,steampunk,konya,kshatriya,repelling,edgewater,lamiinae,devas,potteries,llandaff,engendered,submits,virulence,uplifted,educationist,metropolitans,frontrunner,dunstable,forecastle,frets,methodius,exmouth,linnean,bouchet,repulsion,computable,equalling,liceo,tephritidae,agave,hydrological,azarenka,fairground,l'homme,enforces,xinhua,cinematographers,cooperstown,sa'id,paiute,christianization,tempos,chippenham,insulator,kotor,stereotyped,dello,cours,hisham,d'souza,eliminations,supercars,passau,rebrand,natures,coote,persephone,rededicated,cleaved,plenum,blistering,indiscriminately,cleese,safed,recursively,compacted,revues,hydration,shillong,echelons,garhwal,pedimented,grower,zwolle,wildflower,annexing,methionine,petah,valens,famitsu,petiole,specialities,nestorian,shahin,tokaido,shearwater,barberini,kinsmen,experimenter,alumnae,cloisters,alumina,pritzker,hardiness,soundgarden,julich,ps300,watercourse,cementing,wordplay,olivet,demesne,chasseurs,amide,zapotec,gaozu,porphyry,absorbers,indium,analogies,devotions,engravers,limestones,catapulted,surry,brickworks,gotra,rodham,landline,paleontologists,shankara,islip,raucous,trollope,arpad,embarkation,morphemes,recites,picardie,nakhchivan,tolerances,formula_47,khorramabad,nichiren,adrianople,kirkuk,assemblages,collider,bikaner,bushfires,roofline,coverings,reredos,bibliotheca,mantras,accentuated,commedia,rashtriya,fluctuation,serhiy,referential,fittipaldi,vesicle,geeta,iraklis,immediacy,chulalongkorn,hunsruck,bingen,dreadnoughts,stonemason,meenakshi,lebesgue,undergrowth,baltistan,paradoxes,parlement,articled,tiflis,dixieland,meriden,tejano,underdogs,barnstable,exemplify,venter,tropes,wielka,kankakee,iskandar,zilina,pharyngeal,spotify,materialised,picts,atlantique,theodoric,prepositions,paramilitaries,pinellas,attlee,actuated,piedmontese,grayling,thucydides,multifaceted,unedited,autonomously,universelle,utricularia,mooted,preto,incubated,underlie,brasenose,nootka,bushland,sensu,benzodiazepine,esteghlal,seagoing,amenhotep,azusa,sappers,culpeper,smokeless,thoroughbreds,dargah,gorda,alumna,mankato,zdroj,deleting,culvert,formula_49,punting,wushu,hindering,immunoglobulin,standardisation,birger,oilfield,quadrangular,ulama,recruiters,netanya,1630s,communaute,istituto,maciej,pathan,meher,vikas,characterizations,playmaker,interagency,intercepts,assembles,horthy,introspection,narada,matra,testes,radnicki,estonians,csiro,instar,mitford,adrenergic,crewmembers,haaretz,wasatch,lisburn,rangefinder,ordre,condensate,reforestation,corregidor,spvgg,modulator,mannerist,faulted,aspires,maktoum,squarepants,aethelred,piezoelectric,mulatto,dacre,progressions,jagiellonian,norge,samaria,sukhoi,effingham,coxless,hermetic,humanists,centrality,litters,stirlingshire,beaconsfield,sundanese,geometrically,caretakers,habitually,bandra,pashtuns,bradenton,arequipa,laminar,brickyard,hitchin,sustains,shipboard,ploughing,trechus,wheelers,bracketed,ilyushin,subotica,d'hondt,reappearance,bridgestone,intermarried,fulfilment,aphasia,birkbeck,transformational,strathmore,hornbill,millstone,lacan,voids,solothurn,gymnasiums,laconia,viaducts,peduncle,teachta,edgware,shinty,supernovae,wilfried,exclaim,parthia,mithun,flashpoint,moksha,cumbia,metternich,avalanches,militancy,motorist,rivadavia,chancellorsville,federals,gendered,bounding,footy,gauri,caliphs,lingam,watchmaker,unrecorded,riverina,unmodified,seafloor,droit,pfalz,chrysostom,gigabit,overlordship,besiege,espn2,oswestry,anachronistic,ballymena,reactivation,duchovny,ghani,abacetus,duller,legio,watercourses,nord-pas-de-calais,leiber,optometry,swarms,installer,sancti,adverbs,iheartmedia,meiningen,zeljko,kakheti,notional,circuses,patrilineal,acrobatics,infrastructural,sheva,oregonian,adjudication,aamir,wloclawek,overfishing,obstructive,subtracting,aurobindo,archeologist,newgate,'cause,secularization,tehsils,abscess,fingal,janacek,elkhorn,trims,kraftwerk,mandating,irregulars,faintly,congregationalist,sveti,kasai,mishaps,kennebec,provincially,durkheim,scotties,aicte,rapperswil,imphal,surrenders,morphs,nineveh,hoxha,cotabato,thuringian,metalworking,retold,shogakukan,anthers,proteasome,tippeligaen,disengagement,mockumentary,palatial,erupts,flume,corrientes,masthead,jaroslaw,rereleased,bharti,labors,distilling,tusks,varzim,refounded,enniskillen,melkite,semifinalists,vadodara,bermudian,capstone,grasse,origination,populus,alesi,arrondissements,semigroup,verein,opossum,messrs.,portadown,bulbul,tirupati,mulhouse,tetrahedron,roethlisberger,nonverbal,connexion,warangal,deprecated,gneiss,octet,vukovar,hesketh,chambre,despatch,claes,kargil,hideo,gravelly,tyndale,aquileia,tuners,defensible,tutte,theotokos,constructivist,ouvrage,dukla,polisario,monasticism,proscribed,commutation,testers,nipissing,codon,mesto,olivine,concomitant,exoskeleton,purports,coromandel,eyalet,dissension,hippocrates,purebred,yaounde,composting,oecophoridae,procopius,o'day,angiogenesis,sheerness,intelligencer,articular,felixstowe,aegon,endocrinology,trabzon,licinius,pagodas,zooplankton,hooghly,satie,drifters,sarthe,mercian,neuilly,tumours,canal+,scheldt,inclinations,counteroffensive,roadrunners,tuzla,shoreditch,surigao,predicates,carnot,algeciras,militaries,generalize,bulkheads,gawler,pollutant,celta,rundgren,microrna,gewog,olimpija,placental,lubelski,roxburgh,discerned,verano,kikuchi,musicale,l'enfant,ferocity,dimorphic,antigonus,erzurum,prebendary,recitative,discworld,cyrenaica,stigmella,totnes,sutta,pachuca,ulsan,downton,landshut,castellan,pleural,siedlce,siecle,catamaran,cottbus,utilises,trophic,freeholders,holyhead,u.s.s,chansons,responder,waziristan,suzuka,birding,shogi,asker,acetone,beautification,cytotoxic,dixit,hunterdon,cobblestone,formula_48,kossuth,devizes,sokoto,interlaced,shuttered,kilowatts,assiniboine,isaak,salto,alderney,sugarloaf,franchising,aggressiveness,toponyms,plaintext,antimatter,henin,equidistant,salivary,bilingualism,mountings,obligate,extirpated,irenaeus,misused,pastoralists,aftab,immigrating,warping,tyrolean,seaforth,teesside,soundwave,oligarchy,stelae,pairwise,iupac,tezuka,posht,orchestrations,landmass,ironstone,gallia,hjalmar,carmelites,strafford,elmhurst,palladio,fragility,teleplay,gruffudd,karoly,yerba,potok,espoo,inductance,macaque,nonprofits,pareto,rock'n'roll,spiritualist,shadowed,skateboarder,utterances,generality,congruence,prostrate,deterred,yellowknife,albarn,maldon,battlements,mohsen,insecticides,khulna,avellino,menstruation,glutathione,springdale,parlophone,confraternity,korps,countrywide,bosphorus,preexisting,damodar,astride,alexandrovich,sprinting,crystallized,botev,leaching,interstates,veers,angevin,undaunted,yevgeni,nishapur,northerners,alkmaar,bethnal,grocers,sepia,tornus,exemplar,trobe,charcot,gyeonggi,larne,tournai,lorain,voided,genji,enactments,maxilla,adiabatic,eifel,nazim,transducer,thelonious,pyrite,deportiva,dialectal,bengt,rosettes,labem,sergeyevich,synoptic,conservator,statuette,biweekly,adhesives,bifurcation,rajapaksa,mammootty,republique,yusef,waseda,marshfield,yekaterinburg,minnelli,fundy,fenian,matchups,dungannon,supremacist,panelled,drenthe,iyengar,fibula,narmada,homeport,oceanside,precept,antibacterial,altarpieces,swath,ospreys,lillooet,legnica,lossless,formula_50,galvatron,iorga,stormont,rsfsr,loggers,kutno,phenomenological,medallists,cuatro,soissons,homeopathy,bituminous,injures,syndicates,typesetting,displacements,dethroned,makassar,lucchese,abergavenny,targu,alborz,akb48,boldface,gastronomy,sacra,amenity,accumulator,myrtaceae,cornices,mourinho,denunciation,oxbow,diddley,aargau,arbitrage,bedchamber,gruffydd,zamindar,klagenfurt,caernarfon,slowdown,stansted,abrasion,tamaki,suetonius,dukakis,individualistic,ventrally,hotham,perestroika,ketones,fertilisation,sobriquet,couplings,renderings,misidentified,rundfunk,sarcastically,braniff,concours,dismissals,elegantly,modifiers,crediting,combos,crucially,seafront,lieut,ischemia,manchus,derivations,proteases,aristophanes,adenauer,porting,hezekiah,sante,trulli,hornblower,foreshadowing,ypsilanti,dharwad,khani,hohenstaufen,distillers,cosmodrome,intracranial,turki,salesian,gorzow,jihlava,yushchenko,leichhardt,venables,cassia,eurogamer,airtel,curative,bestsellers,timeform,sortied,grandview,massillon,ceding,pilbara,chillicothe,heredity,elblag,rogaland,ronne,millennial,batley,overuse,bharata,fille,campbelltown,abeyance,counterclockwise,250cc,neurodegenerative,consigned,electromagnetism,sunnah,saheb,exons,coxswain,gleaned,bassoons,worksop,prismatic,immigrate,pickets,takeo,bobsledder,stosur,fujimori,merchantmen,stiftung,forli,endorses,taskforce,thermally,atman,gurps,floodplains,enthalpy,extrinsic,setubal,kennesaw,grandis,scalability,durations,showrooms,prithvi,outro,overruns,andalucia,amanita,abitur,hipper,mozambican,sustainment,arsene,chesham,palaeolithic,reportage,criminality,knowsley,haploid,atacama,shueisha,ridgefield,astern,getafe,lineal,timorese,restyled,hollies,agincourt,unter,justly,tannins,mataram,industrialised,tarnovo,mumtaz,mustapha,stretton,synthetase,condita,allround,putra,stjepan,troughs,aechmea,specialisation,wearable,kadokawa,uralic,aeros,messiaen,existentialism,jeweller,effigies,gametes,fjordane,cochlear,interdependent,demonstrative,unstructured,emplacement,famines,spindles,amplitudes,actuator,tantalum,psilocybe,apnea,monogatari,expulsions,seleucus,tsuen,hospitaller,kronstadt,eclipsing,olympiakos,clann,canadensis,inverter,helio,egyptologist,squamous,resonate,munir,histology,torbay,khans,jcpenney,veterinarians,aintree,microscopes,colonised,reflectors,phosphorylated,pristimantis,tulare,corvinus,multiplexing,midweek,demosthenes,transjordan,ecija,tengku,vlachs,anamorphic,counterweight,radnor,trinitarian,armidale,maugham,njsiaa,futurism,stairways,avicenna,montebello,bridgetown,wenatchee,lyonnais,amass,surinamese,streptococcus,m*a*s*h,hydrogenation,frazioni,proscenium,kalat,pennsylvanian,huracan,tallying,kralove,nucleolar,phrygian,seaports,hyacinthe,ignace,donning,instalment,regnal,fonds,prawn,carell,folktales,goaltending,bracknell,vmware,patriarchy,mitsui,kragujevac,pythagoras,soult,thapa,disproved,suwalki,secures,somoza,l'ecole,divizia,chroma,herders,technologist,deduces,maasai,rampur,paraphrase,raimi,imaged,magsaysay,ivano,turmeric,formula_51,subcommittees,axillary,ionosphere,organically,indented,refurbishing,pequot,violinists,bearn,colle,contralto,silverton,mechanization,etruscans,wittelsbach,pasir,redshirted,marrakesh,scarp,plein,wafers,qareh,teotihuacan,frobenius,sinensis,rehoboth,bundaberg,newbridge,hydrodynamic,traore,abubakar,adjusts,storytellers,dynamos,verbandsliga,concertmaster,exxonmobil,appreciable,sieradz,marchioness,chaplaincy,rechristened,cunxu,overpopulation,apolitical,sequencer,beaked,nemanja,binaries,intendant,absorber,filamentous,indebtedness,nusra,nashik,reprises,psychedelia,abwehr,ligurian,isoform,resistive,pillaging,mahathir,reformatory,lusatia,allerton,ajaccio,tepals,maturin,njcaa,abyssinian,objector,fissures,sinuous,ecclesiastic,dalits,caching,deckers,phosphates,wurlitzer,navigated,trofeo,berea,purefoods,solway,unlockable,grammys,kostroma,vocalizations,basilan,rebuke,abbasi,douala,helsingborg,ambon,bakar,runestones,cenel,tomislav,pigmented,northgate,excised,seconda,kirke,determinations,dedicates,vilas,pueblos,reversion,unexploded,overprinted,ekiti,deauville,masato,anaesthesia,endoplasmic,transponders,aguascalientes,hindley,celluloid,affording,bayeux,piaget,rickshaws,eishockey,camarines,zamalek,undersides,hardwoods,hermitian,mutinied,monotone,blackmails,affixes,jpmorgan,habermas,mitrovica,paleontological,polystyrene,thana,manas,conformist,turbofan,decomposes,logano,castration,metamorphoses,patroness,herbicide,mikolaj,rapprochement,macroeconomics,barranquilla,matsudaira,lintels,femina,hijab,spotsylvania,morpheme,bitola,baluchistan,kurukshetra,otway,extrusion,waukesha,menswear,helder,trung,bingley,protester,boars,overhang,differentials,exarchate,hejaz,kumara,unjustified,timings,sharpness,nuovo,taisho,sundar,etc..,jehan,unquestionably,muscovy,daltrey,canute,paneled,amedeo,metroplex,elaborates,telus,tetrapods,dragonflies,epithets,saffir,parthenon,lucrezia,refitting,pentateuch,hanshin,montparnasse,lumberjacks,sanhedrin,erectile,odors,greenstone,resurgent,leszek,amory,substituents,prototypical,viewfinder,monck,universiteit,joffre,revives,chatillon,seedling,scherzo,manukau,ashdod,gympie,homolog,stalwarts,ruinous,weibo,tochigi,wallenberg,gayatri,munda,satyagraha,storefronts,heterogeneity,tollway,sportswriters,binocular,gendarmes,ladysmith,tikal,ortsgemeinde,ja'far,osmotic,linlithgow,bramley,telecoms,pugin,repose,rupaul,sieur,meniscus,garmisch,reintroduce,400th,shoten,poniatowski,drome,kazakhstani,changeover,astronautics,husserl,herzl,hypertext,katakana,polybius,antananarivo,seong,breguet,reliquary,utada,aggregating,liangshan,sivan,tonawanda,audiobooks,shankill,coulee,phenolic,brockton,bookmakers,handsets,boaters,wylde,commonality,mappings,silhouettes,pennines,maurya,pratchett,singularities,eschewed,pretensions,vitreous,ibero,totalitarianism,poulenc,lingered,directx,seasoning,deputation,interdict,illyria,feedstock,counterbalance,muzik,buganda,parachuted,violist,homogeneity,comix,fjords,corsairs,punted,verandahs,equilateral,laoghaire,magyars,117th,alesund,televoting,mayotte,eateries,refurbish,nswrl,yukio,caragiale,zetas,dispel,codecs,inoperable,outperformed,rejuvenation,elstree,modernise,contributory,pictou,tewkesbury,chechens,ashina,psionic,refutation,medico,overdubbed,nebulae,sandefjord,personages,eccellenza,businessperson,placename,abenaki,perryville,threshing,reshaped,arecibo,burslem,colspan=3|turnout,rebadged,lumia,erinsborough,interactivity,bitmap,indefatigable,theosophy,excitatory,gleizes,edsel,bermondsey,korce,saarinen,wazir,diyarbakir,cofounder,liberalisation,onsen,nighthawks,siting,retirements,semyon,d'histoire,114th,redditch,venetia,praha,'round,valdosta,hieroglyphic,postmedial,edirne,miscellany,savona,cockpits,minimization,coupler,jacksonian,appeasement,argentines,saurashtra,arkwright,hesiod,folios,fitzalan,publica,rivaled,civitas,beermen,constructivism,ribeira,zeitschrift,solanum,todos,deformities,chilliwack,verdean,meagre,bishoprics,gujrat,yangzhou,reentered,inboard,mythologies,virtus,unsurprisingly,rusticated,museu,symbolise,proportionate,thesaban,symbian,aeneid,mitotic,veliki,compressive,cisterns,abies,winemaker,massenet,bertolt,ahmednagar,triplemania,armorial,administracion,tenures,smokehouse,hashtag,fuerza,regattas,gennady,kanazawa,mahmudabad,crustal,asaph,valentinian,ilaiyaraaja,honeyeater,trapezoidal,cooperatively,unambiguously,mastodon,inhospitable,harnesses,riverton,renewables,djurgardens,haitians,airings,humanoids,boatswain,shijiazhuang,faints,veera,punjabis,steepest,narain,karlovy,serre,sulcus,collectives,1500m,arion,subarctic,liberally,apollonius,ostia,droplet,headstones,norra,robusta,maquis,veronese,imola,primers,luminance,escadrille,mizuki,irreconcilable,stalybridge,temur,paraffin,stuccoed,parthians,counsels,fundamentalists,vivendi,polymath,sugababes,mikko,yonne,fermions,vestfold,pastoralist,kigali,unseeded,glarus,cusps,amasya,northwesterly,minorca,astragalus,verney,trevelyan,antipathy,wollstonecraft,bivalves,boulez,royle,divisao,quranic,bareilly,coronal,deviates,lulea,erectus,petronas,chandan,proxies,aeroflot,postsynaptic,memoriam,moyne,gounod,kuznetsova,pallava,ordinating,reigate,'first,lewisburg,exploitative,danby,academica,bailiwick,brahe,injective,stipulations,aeschylus,computes,gulden,hydroxylase,liveries,somalis,underpinnings,muscovite,kongsberg,domus,overlain,shareware,variegated,jalalabad,agence,ciphertext,insectivores,dengeki,menuhin,cladistic,baerum,betrothal,tokushima,wavelet,expansionist,pottsville,siyuan,prerequisites,carpi,nemzeti,nazar,trialled,eliminator,irrorated,homeward,redwoods,undeterred,strayed,lutyens,multicellular,aurelian,notated,lordships,alsatian,idents,foggia,garros,chalukyas,lillestrom,podlaski,pessimism,hsien,demilitarized,whitewashed,willesden,kirkcaldy,sanctorum,lamia,relaying,escondido,paediatric,contemplates,demarcated,bluestone,betula,penarol,capitalise,kreuznach,kenora,115th,hold'em,reichswehr,vaucluse,m.i.a,windings,boys/girls,cajon,hisar,predictably,flemington,ysgol,mimicked,clivina,grahamstown,ionia,glyndebourne,patrese,aquaria,sleaford,dayal,sportscenter,malappuram,m.b.a.,manoa,carbines,solvable,designator,ramanujan,linearity,academicians,sayid,lancastrian,factorial,strindberg,vashem,delos,comyn,condensing,superdome,merited,kabaddi,intransitive,bideford,neuroimaging,duopoly,scorecards,ziggler,heriot,boyars,virology,marblehead,microtubules,westphalian,anticipates,hingham,searchers,harpist,rapides,morricone,convalescent,mises,nitride,metrorail,matterhorn,bicol,drivetrain,marketer,snippet,winemakers,muban,scavengers,halberstadt,herkimer,peten,laborious,stora,montgomeryshire,booklist,shamir,herault,eurostar,anhydrous,spacewalk,ecclesia,calliostoma,highschool,d'oro,suffusion,imparts,overlords,tagus,rectifier,counterinsurgency,ministered,eilean,milecastle,contre,micromollusk,okhotsk,bartoli,matroid,hasidim,thirunal,terme,tarlac,lashkar,presque,thameslink,flyby,troopship,renouncing,fatih,messrs,vexillum,bagration,magnetite,bornholm,androgynous,vehement,tourette,philosophic,gianfranco,tuileries,codice_6,radially,flexion,hants,reprocessing,setae,burne,palaeographically,infantryman,shorebirds,tamarind,moderna,threading,militaristic,crohn,norrkoping,125cc,stadtholder,troms,klezmer,alphanumeric,brome,emmanuelle,tiwari,alchemical,formula_52,onassis,bleriot,bipedal,colourless,hermeneutics,hosni,precipitating,turnstiles,hallucinogenic,panhellenic,wyandotte,elucidated,chita,ehime,generalised,hydrophilic,biota,niobium,rnzaf,gandhara,longueuil,logics,sheeting,bielsko,cuvier,kagyu,trefoil,docent,pancrase,stalinism,postures,encephalopathy,monckton,imbalances,epochs,leaguers,anzio,diminishes,pataki,nitrite,amuro,nabil,maybach,l'aquila,babbler,bacolod,thutmose,evora,gaudi,breakage,recur,preservative,60deg,mendip,functionaries,columnar,maccabiah,chert,verden,bromsgrove,clijsters,dengue,pastorate,phuoc,principia,viareggio,kharagpur,scharnhorst,anyang,bosons,l'art,criticises,ennio,semarang,brownian,mirabilis,asperger,calibers,typographical,cartooning,minos,disembark,supranational,undescribed,etymologically,alappuzha,vilhelm,lanao,pakenham,bhagavata,rakoczi,clearings,astrologers,manitowoc,bunuel,acetylene,scheduler,defamatory,trabzonspor,leaded,scioto,pentathlete,abrahamic,minigames,aldehydes,peerages,legionary,1640s,masterworks,loudness,bryansk,likeable,genocidal,vegetated,towpath,declination,pyrrhus,divinely,vocations,rosebery,associazione,loaders,biswas,oeste,tilings,xianzong,bhojpuri,annuities,relatedness,idolator,psers,constriction,chuvash,choristers,hanafi,fielders,grammarian,orpheum,asylums,millbrook,gyatso,geldof,stabilise,tableaux,diarist,kalahari,panini,cowdenbeath,melanin,4x100m,resonances,pinar,atherosclerosis,sheringham,castlereagh,aoyama,larks,pantograph,protrude,natak,gustafsson,moribund,cerevisiae,cleanly,polymeric,holkar,cosmonauts,underpinning,lithosphere,firuzabad,languished,mingled,citrate,spadina,lavas,daejeon,fibrillation,porgy,pineville,ps1000,cobbled,emamzadeh,mukhtar,dampers,indelible,salonika,nanoscale,treblinka,eilat,purporting,fluctuate,mesic,hagiography,cutscenes,fondation,barrens,comically,accrue,ibrox,makerere,defections,'there,hollandia,skene,grosseto,reddit,objectors,inoculation,rowdies,playfair,calligrapher,namor,sibenik,abbottabad,propellants,hydraulically,chloroplasts,tablelands,tecnico,schist,klasse,shirvan,bashkortostan,bullfighting,north/south,polski,hanns,woodblock,kilmore,ejecta,ignacy,nanchang,danubian,commendations,snohomish,samaritans,argumentation,vasconcelos,hedgehogs,vajrayana,barents,kulkarni,kumbakonam,identifications,hillingdon,weirs,nayanar,beauvoir,messe,divisors,atlantiques,broods,affluence,tegucigalpa,unsuited,autodesk,akash,princeps,culprits,kingstown,unassuming,goole,visayan,asceticism,blagojevich,irises,paphos,unsound,maurier,pontchartrain,desertification,sinfonietta,latins,especial,limpet,valerenga,glial,brainstem,mitral,parables,sauropod,judean,iskcon,sarcoma,venlo,justifications,zhuhai,blavatsky,alleviated,usafe,steppenwolf,inversions,janko,chagall,secretory,basildon,saguenay,pergamon,hemispherical,harmonized,reloading,franjo,domaine,extravagance,relativism,metamorphosed,labuan,baloncesto,gmail,byproducts,calvinists,counterattacked,vitus,bubonic,120th,strachey,ritually,brookwood,selectable,savinja,incontinence,meltwater,jinja,1720s,brahmi,morgenthau,sheaves,sleeved,stratovolcano,wielki,utilisation,avoca,fluxus,panzergrenadier,philately,deflation,podlaska,prerogatives,kuroda,theophile,zhongzong,gascoyne,magus,takao,arundell,fylde,merdeka,prithviraj,venkateswara,liepaja,daigo,dreamland,reflux,sunnyvale,coalfields,seacrest,soldering,flexor,structuralism,alnwick,outweighed,unaired,mangeshkar,batons,glaad,banshees,irradiated,organelles,biathlete,cabling,chairlift,lollapalooza,newsnight,capacitive,succumbs,flatly,miramichi,burwood,comedienne,charteris,biotic,workspace,aficionados,sokolka,chatelet,o'shaughnessy,prosthesis,neoliberal,refloated,oppland,hatchlings,econometrics,loess,thieu,androids,appalachians,jenin,pterostichinae,downsized,foils,chipsets,stencil,danza,narrate,maginot,yemenite,bisects,crustacean,prescriptive,melodious,alleviation,empowers,hansson,autodromo,obasanjo,osmosis,daugava,rheumatism,moraes,leucine,etymologies,chepstow,delaunay,bramall,bajaj,flavoring,approximates,marsupials,incisive,microcomputer,tactically,waals,wilno,fisichella,ursus,hindmarsh,mazarin,lomza,xenophobia,lawlessness,annecy,wingers,gornja,gnaeus,superieur,tlaxcala,clasps,symbolises,slats,rightist,effector,blighted,permanence,divan,progenitors,kunsthalle,anointing,excelling,coenzyme,indoctrination,dnipro,landholdings,adriaan,liturgies,cartan,ethmia,attributions,sanctus,trichy,chronicon,tancred,affinis,kampuchea,gantry,pontypool,membered,distrusted,fissile,dairies,hyposmocoma,craigie,adarsh,martinsburg,taxiway,30deg,geraint,vellum,bencher,khatami,formula_53,zemun,teruel,endeavored,palmares,pavements,u.s..,internationalization,satirized,carers,attainable,wraparound,muang,parkersburg,extinctions,birkenfeld,wildstorm,payers,cohabitation,unitas,culloden,capitalizing,clwyd,daoist,campinas,emmylou,orchidaceae,halakha,orientales,fealty,domnall,chiefdom,nigerians,ladislav,dniester,avowed,ergonomics,newsmagazine,kitsch,cantilevered,benchmarking,remarriage,alekhine,coldfield,taupo,almirante,substations,apprenticeships,seljuq,levelling,eponym,symbolising,salyut,opioids,underscore,ethnologue,mohegan,marikina,libro,bassano,parse,semantically,disjointed,dugdale,padraig,tulsi,modulating,xfinity,headlands,mstislav,earthworms,bourchier,lgbtq,embellishments,pennants,rowntree,betel,motet,mulla,catenary,washoe,mordaunt,dorking,colmar,girardeau,glentoran,grammatically,samad,recreations,technion,staccato,mikoyan,spoilers,lyndhurst,victimization,chertsey,belafonte,tondo,tonsberg,narrators,subcultures,malformations,edina,augmenting,attests,euphemia,cabriolet,disguising,1650s,navarrese,demoralized,cardiomyopathy,welwyn,wallachian,smoothness,planktonic,voles,issuers,sardasht,survivability,cuauhtemoc,thetis,extruded,signet,raghavan,lombok,eliyahu,crankcase,dissonant,stolberg,trencin,desktops,bursary,collectivization,charlottenburg,triathlete,curvilinear,involuntarily,mired,wausau,invades,sundaram,deletions,bootstrap,abellio,axiomatic,noguchi,setups,malawian,visalia,materialist,kartuzy,wenzong,plotline,yeshivas,parganas,tunica,citric,conspecific,idlib,superlative,reoccupied,blagoevgrad,masterton,immunological,hatta,courbet,vortices,swallowtail,delves,haridwar,diptera,boneh,bahawalpur,angering,mardin,equipments,deployable,guanine,normality,rimmed,artisanal,boxset,chandrasekhar,jools,chenar,tanakh,carcassonne,belatedly,millville,anorthosis,reintegration,velde,surfactant,kanaan,busoni,glyphipterix,personas,fullness,rheims,tisza,stabilizers,bharathi,joost,spinola,mouldings,perching,esztergom,afzal,apostate,lustre,s.league,motorboat,monotheistic,armature,barat,asistencia,bloomsburg,hippocampal,fictionalised,defaults,broch,hexadecimal,lusignan,ryanair,boccaccio,breisgau,southbank,bskyb,adjoined,neurobiology,aforesaid,sadhu,langue,headship,wozniacki,hangings,regulus,prioritized,dynamism,allier,hannity,shimin,antoninus,gymnopilus,caledon,preponderance,melayu,electrodynamics,syncopated,ibises,krosno,mechanistic,morpeth,harbored,albini,monotheism,'real,hyperactivity,haveli,writer/director,minato,nimoy,caerphilly,chitral,amirabad,fanshawe,l'oreal,lorde,mukti,authoritarianism,valuing,spyware,hanbury,restarting,stato,embed,suiza,empiricism,stabilisation,stari,castlemaine,orbis,manufactory,mauritanian,shoji,taoyuan,prokaryotes,oromia,ambiguities,embodying,slims,frente,innovate,ojibwa,powdery,gaeltacht,argentinos,quatermass,detergents,fijians,adaptor,tokai,chileans,bulgars,oxidoreductases,bezirksliga,conceicao,myosin,nellore,500cc,supercomputers,approximating,glyndwr,polypropylene,haugesund,cockerell,tudman,ashbourne,hindemith,bloodlines,rigveda,etruria,romanos,steyn,oradea,deceleration,manhunter,laryngeal,fraudulently,janez,wendover,haplotype,janaki,naoki,belizean,mellencamp,cartographic,sadhana,tricolour,pseudoscience,satara,bytow,s.p.a.,jagdgeschwader,arcot,omagh,sverdrup,masterplan,surtees,apocrypha,ahvaz,d'amato,socratic,leumit,unnumbered,nandini,witold,marsupial,coalesced,interpolated,gimnasia,karadzic,keratin,mamoru,aldeburgh,speculator,escapement,irfan,kashyap,satyajit,haddington,solver,rothko,ashkelon,kickapoo,yeomen,superbly,bloodiest,greenlandic,lithic,autofocus,yardbirds,poona,keble,javan,sufis,expandable,tumblr,ursuline,swimwear,winwood,counsellors,aberrations,marginalised,befriending,workouts,predestination,varietal,siddhartha,dunkeld,judaic,esquimalt,shabab,ajith,telefonica,stargard,hoysala,radhakrishnan,sinusoidal,strada,hiragana,cebuano,monoid,independencia,floodwaters,mildura,mudflats,ottokar,translit,radix,wigner,philosophically,tephritid,synthesizing,castletown,installs,stirner,resettle,bushfire,choirmaster,kabbalistic,shirazi,lightship,rebus,colonizers,centrifuge,leonean,kristofferson,thymus,clackamas,ratnam,rothesay,municipally,centralia,thurrock,gulfport,bilinear,desirability,merite,psoriasis,macaw,erigeron,consignment,mudstone,distorting,karlheinz,ramen,tailwheel,vitor,reinsurance,edifices,superannuation,dormancy,contagion,cobden,rendezvoused,prokaryotic,deliberative,patricians,feigned,degrades,starlings,sopot,viticultural,beaverton,overflowed,convener,garlands,michiel,ternopil,naturelle,biplanes,bagot,gamespy,ventspils,disembodied,flattening,profesional,londoners,arusha,scapular,forestall,pyridine,ulema,eurodance,aruna,callus,periodontal,coetzee,immobilized,o'meara,maharani,katipunan,reactants,zainab,microgravity,saintes,britpop,carrefour,constrain,adversarial,firebirds,brahmo,kashima,simca,surety,surpluses,superconductivity,gipuzkoa,cumans,tocantins,obtainable,humberside,roosting,'king,formula_54,minelayer,bessel,sulayman,cycled,biomarkers,annealing,shusha,barda,cassation,djing,polemics,tuple,directorates,indomitable,obsolescence,wilhelmine,pembina,bojan,tambo,dioecious,pensioner,magnificat,1660s,estrellas,southeasterly,immunodeficiency,railhead,surreptitiously,codeine,encores,religiosity,tempera,camberley,efendi,boardings,malleable,hagia,input/output,lucasfilm,ujjain,polymorphisms,creationist,berners,mickiewicz,irvington,linkedin,endures,kinect,munition,apologetics,fairlie,predicated,reprinting,ethnographer,variances,levantine,mariinsky,jadid,jarrow,asia/oceania,trinamool,waveforms,bisexuality,preselection,pupae,buckethead,hieroglyph,lyricists,marionette,dunbartonshire,restorer,monarchical,pazar,kickoffs,cabildo,savannas,gliese,dench,spoonbills,novelette,diliman,hypersensitivity,authorising,montefiore,mladen,qu'appelle,theistic,maruti,laterite,conestoga,saare,californica,proboscis,carrickfergus,imprecise,hadassah,baghdadi,jolgeh,deshmukh,amusements,heliopolis,berle,adaptability,partenkirchen,separations,baikonur,cardamom,southeastward,southfield,muzaffar,adequacy,metropolitana,rajkot,kiyoshi,metrobus,evictions,reconciles,librarianship,upsurge,knightley,badakhshan,proliferated,spirituals,burghley,electroacoustic,professing,featurette,reformists,skylab,descriptors,oddity,greyfriars,injects,salmond,lanzhou,dauntless,subgenera,underpowered,transpose,mahinda,gatos,aerobatics,seaworld,blocs,waratahs,joris,giggs,perfusion,koszalin,mieczyslaw,ayyubid,ecologists,modernists,sant'angelo,quicktime,him/her,staves,sanyo,melaka,acrocercops,qigong,iterated,generalizes,recuperation,vihara,circassians,psychical,chavo,memoires,infiltrates,notaries,pelecaniformesfamily,strident,chivalric,pierrepont,alleviating,broadsides,centipede,b.tech,reinterpreted,sudetenland,hussite,covenanters,radhika,ironclads,gainsbourg,testis,penarth,plantar,azadegan,beano,espn.com,leominster,autobiographies,nbcuniversal,eliade,khamenei,montferrat,undistinguished,ethnological,wenlock,fricatives,polymorphic,biome,joule,sheaths,astrophysicist,salve,neoclassicism,lovat,downwind,belisarius,forma,usurpation,freie,depopulation,backbench,ascenso,'high,aagpbl,gdanski,zalman,mouvement,encapsulation,bolshevism,statny,voyageurs,hywel,vizcaya,mazra'eh,narthex,azerbaijanis,cerebrospinal,mauretania,fantail,clearinghouse,bolingbroke,pequeno,ansett,remixing,microtubule,wrens,jawahar,palembang,gambian,hillsong,fingerboard,repurposed,sundry,incipient,veolia,theologically,ulaanbaatar,atsushi,foundling,resistivity,myeloma,factbook,mazowiecka,diacritic,urumqi,clontarf,provokes,intelsat,professes,materialise,portobello,benedictines,panionios,introverted,reacquired,bridport,mammary,kripke,oratorios,vlore,stoning,woredas,unreported,antti,togolese,fanzines,heuristics,conservatories,carburetors,clitheroe,cofounded,formula_57,erupting,quinnipiac,bootle,ghostface,sittings,aspinall,sealift,transferase,boldklub,siskiyou,predominated,francophonie,ferruginous,castrum,neogene,sakya,madama,precipitous,'love,posix,bithynia,uttara,avestan,thrushes,seiji,memorably,septimius,libri,cibernetico,hyperinflation,dissuaded,cuddalore,peculiarity,vaslui,grojec,albumin,thurles,casks,fasteners,fluidity,buble,casals,terek,gnosticism,cognates,ulnar,radwanska,babylonians,majuro,oxidizer,excavators,rhythmically,liffey,gorakhpur,eurydice,underscored,arborea,lumumba,tuber,catholique,grama,galilei,scrope,centreville,jacobin,bequests,ardeche,polygamous,montauban,terai,weatherboard,readability,attainder,acraea,transversely,rivets,winterbottom,reassures,bacteriology,vriesea,chera,andesite,dedications,homogenous,reconquered,bandon,forrestal,ukiyo,gurdjieff,tethys,sparc,muscogee,grebes,belchatow,mansa,blantyre,palliser,sokolow,fibroblasts,exmoor,misaki,soundscapes,housatonic,middelburg,convenor,leyla,antipope,histidine,okeechobee,alkenes,sombre,alkene,rubik,macaques,calabar,trophee,pinchot,'free,frusciante,chemins,falaise,vasteras,gripped,schwarzenberg,cumann,kanchipuram,acoustically,silverbacks,fangio,inset,plympton,kuril,vaccinations,recep,theropods,axils,stavropol,encroached,apoptotic,papandreou,wailers,moonstone,assizes,micrometers,hornchurch,truncation,annapurna,egyptologists,rheumatic,promiscuity,satiric,fleche,caloptilia,anisotropy,quaternions,gruppo,viscounts,awardees,aftershocks,sigint,concordance,oblasts,gaumont,stent,commissars,kesteven,hydroxy,vijayanagar,belorussian,fabricius,watermark,tearfully,mamet,leukaemia,sorkh,milepost,tattooing,vosta,abbasids,uncompleted,hedong,woodwinds,extinguishing,malus,multiplexes,francoist,pathet,responsa,bassists,'most,postsecondary,ossory,grampian,saakashvili,alito,strasberg,impressionistic,volador,gelatinous,vignette,underwing,campanian,abbasabad,albertville,hopefuls,nieuwe,taxiways,reconvened,recumbent,pathologists,unionized,faversham,asymptotically,romulo,culling,donja,constricted,annesley,duomo,enschede,lovech,sharpshooter,lansky,dhamma,papillae,alanine,mowat,delius,wrest,mcluhan,podkarpackie,imitators,bilaspur,stunting,pommel,casemate,handicaps,nagas,testaments,hemings,necessitate,rearward,locative,cilla,klitschko,lindau,merion,consequential,antic,soong,copula,berthing,chevrons,rostral,sympathizer,budokan,ranulf,beria,stilt,replying,conflated,alcibiades,painstaking,yamanashi,calif.,arvid,ctesiphon,xizong,rajas,caxton,downbeat,resurfacing,rudders,miscegenation,deathmatch,foregoing,arthropod,attestation,karts,reapportionment,harnessing,eastlake,schola,dosing,postcolonial,imtiaz,formula_55,insulators,gunung,accumulations,pampas,llewelyn,bahnhof,cytosol,grosjean,teaneck,briarcliff,arsenio,canara,elaborating,passchendaele,searchlights,holywell,mohandas,preventable,gehry,mestizos,ustinov,cliched,'national,heidfeld,tertullian,jihadist,tourer,miletus,semicircle,outclassed,bouillon,cardinalate,clarifies,dakshina,bilayer,pandyan,unrwa,chandragupta,formula_56,portola,sukumaran,lactation,islamia,heikki,couplers,misappropriation,catshark,montt,ploughs,carib,stator,leaderboard,kenrick,dendrites,scape,tillamook,molesworth,mussorgsky,melanesia,restated,troon,glycoside,truckee,headwater,mashup,sectoral,gangwon,docudrama,skirting,psychopathology,dramatised,ostroleka,infestations,thabo,depolarization,wideroe,eisenbahn,thomond,kumaon,upendra,foreland,acronyms,yaqui,retaking,raphaelite,specie,dupage,villars,lucasarts,chloroplast,werribee,balsa,ascribe,havant,flava,khawaja,tyumen,subtract,interrogators,reshaping,buzzcocks,eesti,campanile,potemkin,apertures,snowboarder,registrars,handbooks,boyar,contaminant,depositors,proximate,jeunesse,zagora,pronouncements,mists,nihilism,deified,margraviate,pietersen,moderators,amalfi,adjectival,copepods,magnetosphere,pallets,clemenceau,castra,perforation,granitic,troilus,grzegorz,luthier,dockyards,antofagasta,ffestiniog,subroutine,afterword,waterwheel,druce,nitin,undifferentiated,emacs,readmitted,barneveld,tapers,hittites,infomercials,infirm,braathens,heligoland,carpark,geomagnetic,musculoskeletal,nigerien,machinima,harmonize,repealing,indecency,muskoka,verite,steubenville,suffixed,cytoskeleton,surpasses,harmonia,imereti,ventricles,heterozygous,envisions,otsego,ecoles,warrnambool,burgenland,seria,rawat,capistrano,welby,kirin,enrollments,caricom,dragonlance,schaffhausen,expanses,photojournalism,brienne,etude,referent,jamtland,schemas,xianbei,cleburne,bicester,maritima,shorelines,diagonals,bjelke,nonpublic,aliasing,m.f.a,ovals,maitreya,skirmishing,grothendieck,sukhothai,angiotensin,bridlington,durgapur,contras,gakuen,skagit,rabbinate,tsunamis,haphazard,tyldesley,microcontroller,discourages,hialeah,compressing,septimus,larvik,condoleezza,psilocybin,protectionism,songbirds,clandestinely,selectmen,wargame,cinemascope,khazars,agronomy,melzer,latifah,cherokees,recesses,assemblymen,basescu,banaras,bioavailability,subchannels,adenine,o'kelly,prabhakar,leonese,dimethyl,testimonials,geoffroy,oxidant,universiti,gheorghiu,bohdan,reversals,zamorin,herbivore,jarre,sebastiao,infanterie,dolmen,teddington,radomsko,spaceships,cuzco,recapitulation,mahoning,bainimarama,myelin,aykroyd,decals,tokelau,nalgonda,rajasthani,121st,quelled,tambov,illyrians,homilies,illuminations,hypertrophy,grodzisk,inundation,incapacity,equilibria,combats,elihu,steinitz,berengar,gowda,canwest,khosrau,maculata,houten,kandinsky,onside,leatherhead,heritable,belvidere,federative,chukchi,serling,eruptive,patan,entitlements,suffragette,evolutions,migrates,demobilisation,athleticism,trope,sarpsborg,kensal,translink,squamish,concertgebouw,energon,timestamp,competences,zalgiris,serviceman,codice_7,spoofing,assange,mahadevan,skien,suceava,augustan,revisionism,unconvincing,hollande,drina,gottlob,lippi,broglie,darkening,tilapia,eagerness,nacht,kolmogorov,photometric,leeuwarden,jrotc,haemorrhage,almanack,cavalli,repudiation,galactose,zwickau,cetinje,houbraken,heavyweights,gabonese,ordinals,noticias,museveni,steric,charaxes,amjad,resection,joinville,leczyca,anastasius,purbeck,subtribe,dalles,leadoff,monoamine,jettisoned,kaori,anthologized,alfreton,indic,bayezid,tottori,colonizing,assassinating,unchanging,eusebian,d'estaing,tsingtao,toshio,transferases,peronist,metrology,equus,mirpur,libertarianism,kovil,indole,'green,abstention,quantitatively,icebreakers,tribals,mainstays,dryandra,eyewear,nilgiri,chrysanthemum,inositol,frenetic,merchantman,hesar,physiotherapist,transceiver,dancefloor,rankine,neisse,marginalization,lengthen,unaided,rework,pageantry,savio,striated,funen,witton,illuminates,frass,hydrolases,akali,bistrita,copywriter,firings,handballer,tachinidae,dmytro,coalesce,neretva,menem,moraines,coatbridge,crossrail,spoofed,drosera,ripen,protour,kikuyu,boleslav,edwardes,troubadours,haplogroups,wrasse,educationalist,sroda,khaneh,dagbladet,apennines,neuroscientist,deplored,terje,maccabees,daventry,spaceport,lessening,ducats,singer/guitarist,chambersburg,yeong,configurable,ceremonially,unrelenting,caffe,graaf,denizens,kingsport,ingush,panhard,synthesised,tumulus,homeschooled,bozorg,idiomatic,thanhouser,queensway,radek,hippolytus,inking,banovina,peacocks,piaui,handsworth,pantomimes,abalone,thera,kurzweil,bandura,augustinians,bocelli,ferrol,jiroft,quadrature,contravention,saussure,rectification,agrippina,angelis,matanzas,nidaros,palestrina,latium,coriolis,clostridium,ordain,uttering,lanchester,proteolytic,ayacucho,merseburg,holbein,sambalpur,algebraically,inchon,ostfold,savoia,calatrava,lahiri,judgeship,ammonite,masaryk,meyerbeer,hemorrhagic,superspeedway,ningxia,panicles,encircles,khmelnytsky,profusion,esher,babol,inflationary,anhydride,gaspe,mossy,periodicity,nacion,meteorologists,mahjong,interventional,sarin,moult,enderby,modell,palgrave,warners,montcalm,siddha,functionalism,rilke,politicized,broadmoor,kunste,orden,brasileira,araneta,eroticism,colquhoun,mamba,blacktown,tubercle,seagrass,manoel,camphor,neoregelia,llandudno,annexe,enplanements,kamien,plovers,statisticians,iturbide,madrasah,nontrivial,publican,landholders,manama,uninhabitable,revivalist,trunkline,friendliness,gurudwara,rocketry,unido,tripos,besant,braque,evolutionarily,abkhazian,staffel,ratzinger,brockville,bohemond,intercut,djurgarden,utilitarianism,deploys,sastri,absolutism,subhas,asghar,fictions,sepinwall,proportionately,titleholders,thereon,foursquare,machinegun,knightsbridge,siauliai,aqaba,gearboxes,castaways,weakens,phallic,strzelce,buoyed,ruthenia,pharynx,intractable,neptunes,koine,leakey,netherlandish,preempted,vinay,terracing,instigating,alluvium,prosthetics,vorarlberg,politiques,joinery,reduplication,nebuchadnezzar,lenticular,banka,seaborne,pattinson,helpline,aleph,beckenham,californians,namgyal,franziska,aphid,branagh,transcribe,appropriateness,surakarta,takings,propagates,juraj,b0d3fb,brera,arrayed,tailback,falsehood,hazleton,prosody,egyptology,pinnate,tableware,ratan,camperdown,ethnologist,tabari,classifiers,biogas,126th,kabila,arbitron,apuestas,membranous,kincardine,oceana,glories,natick,populism,synonymy,ghalib,mobiles,motherboards,stationers,germinal,patronised,formula_58,gaborone,torts,jeezy,interleague,novaya,batticaloa,offshoots,wilbraham,filename,nswrfl,'well,trilobite,pythons,optimally,scientologists,rhesus,pilsen,backdrops,batang,unionville,hermanos,shrikes,fareham,outlawing,discontinuing,boisterous,shamokin,scanty,southwestward,exchangers,unexpired,mewar,h.m.s,saldanha,pawan,condorcet,turbidity,donau,indulgences,coincident,cliques,weeklies,bardhaman,violators,kenai,caspase,xperia,kunal,fistula,epistemic,cammell,nephi,disestablishment,rotator,germaniawerft,pyaar,chequered,jigme,perlis,anisotropic,popstars,kapil,appendices,berat,defecting,shacks,wrangel,panchayath,gorna,suckling,aerosols,sponheim,talal,borehole,encodings,enlai,subduing,agong,nadar,kitsap,syrmia,majumdar,pichilemu,charleville,embryology,booting,literati,abutting,basalts,jussi,repubblica,hertogenbosch,digitization,relents,hillfort,wiesenthal,kirche,bhagwan,bactrian,oases,phyla,neutralizing,helsing,ebooks,spearheading,margarine,'golden,phosphor,picea,stimulants,outliers,timescale,gynaecology,integrator,skyrocketed,bridgnorth,senecio,ramachandra,suffragist,arrowheads,aswan,inadvertent,microelectronics,118th,sofer,kubica,melanesian,tuanku,balkh,vyborg,crystallographic,initiators,metamorphism,ginzburg,looters,unimproved,finistere,newburyport,norges,immunities,franchisees,asterism,kortrijk,camorra,komsomol,fleurs,draughts,patagonian,voracious,artin,collaborationist,revolucion,revitalizing,xaver,purifying,antipsychotic,disjunct,pompeius,dreamwave,juvenal,beinn,adiyaman,antitank,allama,boletus,melanogaster,dumitru,caproni,aligns,athabaskan,stobart,phallus,veikkausliiga,hornsey,buffering,bourbons,dobruja,marga,borax,electrics,gangnam,motorcyclist,whidbey,draconian,lodger,galilean,sanctification,imitates,boldness,underboss,wheatland,cantabrian,terceira,maumee,redefining,uppercase,ostroda,characterise,universalism,equalized,syndicalism,haringey,masovia,deleuze,funkadelic,conceals,thuan,minsky,pluralistic,ludendorff,beekeeping,bonfires,endoscopic,abuts,prebend,jonkoping,amami,tribunes,yup'ik,awadh,gasification,pforzheim,reforma,antiwar,vaishnavism,maryville,inextricably,margrethe,empresa,neutrophils,sanctified,ponca,elachistidae,curiae,quartier,mannar,hyperplasia,wimax,busing,neologism,florins,underrepresented,digitised,nieuw,cooch,howards,frege,hughie,plied,swale,kapellmeister,vajpayee,quadrupled,aeronautique,dushanbe,custos,saltillo,kisan,tigray,manaus,epigrams,shamanic,peppered,frosts,promotion/relegation,concedes,zwingli,charentes,whangarei,hyung,spring/summer,sobre,eretz,initialization,sawai,ephemera,grandfathered,arnaldo,customised,permeated,parapets,growths,visegrad,estudios,altamont,provincia,apologises,stoppard,carburettor,rifts,kinematic,zhengzhou,eschatology,prakrit,folate,yvelines,scapula,stupas,rishon,reconfiguration,flutist,1680s,apostolate,proudhon,lakshman,articulating,stortford,faithfull,bitterns,upwelling,qur'anic,lidar,interferometry,waterlogged,koirala,ditton,wavefunction,fazal,babbage,antioxidants,lemberg,deadlocked,tolled,ramapo,mathematica,leiria,topologies,khali,photonic,balti,1080p,corrects,recommenced,polyglot,friezes,tiebreak,copacabana,cholmondeley,armband,abolishment,sheamus,buttes,glycolysis,cataloged,warrenton,sassari,kishan,foodservice,cryptanalysis,holmenkollen,cosplay,machi,yousuf,mangal,allying,fertiliser,otomi,charlevoix,metallurg,parisians,bottlenose,oakleigh,debug,cidade,accede,ligation,madhava,pillboxes,gatefold,aveyron,sorin,thirsk,immemorial,menelik,mehra,domingos,underpinned,fleshed,harshness,diphthong,crestwood,miskolc,dupri,pyrausta,muskingum,tuoba,prodi,incidences,waynesboro,marquesas,heydar,artesian,calinescu,nucleation,funders,covalently,compaction,derbies,seaters,sodor,tabular,amadou,peckinpah,o'halloran,zechariah,libyans,kartik,daihatsu,chandran,erzhu,heresies,superheated,yarder,dorde,tanjore,abusers,xuanwu,juniperus,moesia,trusteeship,birdwatching,beatz,moorcock,harbhajan,sanga,choreographic,photonics,boylston,amalgamate,prawns,electrifying,sarath,inaccurately,exclaims,powerpoint,chaining,cpusa,adulterous,saccharomyces,glogow,vfl/afl,syncretic,simla,persisting,functors,allosteric,euphorbiaceae,juryo,mlada,moana,gabala,thornycroft,kumanovo,ostrovsky,sitio,tutankhamun,sauropods,kardzhali,reinterpretation,sulpice,rosyth,originators,halesowen,delineation,asesoria,abatement,gardai,elytra,taillights,overlays,monsoons,sandpipers,ingmar,henrico,inaccuracy,irwell,arenabowl,elche,pressburg,signalman,interviewees,sinkhole,pendle,ecommerce,cellos,nebria,organometallic,surrealistic,propagandist,interlaken,canandaigua,aerials,coutinho,pascagoula,tonopah,letterkenny,gropius,carbons,hammocks,childe,polities,hosiery,donitz,suppresses,diaghilev,stroudsburg,bagram,pistoia,regenerating,unitarians,takeaway,offstage,vidin,glorification,bakunin,yavapai,lutzow,sabercats,witney,abrogated,gorlitz,validating,dodecahedron,stubbornly,telenor,glaxosmithkline,solapur,undesired,jellicoe,dramatization,four-and-a-half,seawall,waterpark,artaxerxes,vocalization,typographic,byung,sachsenhausen,shepparton,kissimmee,konnan,belsen,dhawan,khurd,mutagenesis,vejle,perrot,estradiol,formula_60,saros,chiloe,misiones,lamprey,terrains,speke,miasto,eigenvectors,haydock,reservist,corticosteroids,savitri,shinawatra,developmentally,yehudi,berates,janissaries,recapturing,rancheria,subplots,gresley,nikkatsu,oryol,cosmas,boavista,formula_59,playfully,subsections,commentated,kathakali,dorid,vilaine,seepage,hylidae,keiji,kazakhs,triphosphate,1620s,supersede,monarchists,falla,miyako,notching,bhumibol,polarizing,secularized,shingled,bronislaw,lockerbie,soleyman,bundesbahn,latakia,redoubts,boult,inwardly,invents,ondrej,minangkabau,newquay,permanente,alhaji,madhav,malini,ellice,bookmaker,mankiewicz,etihad,o'dea,interrogative,mikawa,wallsend,canisius,bluesy,vitruvius,noord,ratifying,mixtec,gujranwala,subprefecture,keelung,goiania,nyssa,shi'ite,semitone,ch'uan,computerised,pertuan,catapults,nepomuk,shruti,millstones,buskerud,acolytes,tredegar,sarum,armia,dell'arte,devises,custodians,upturned,gallaudet,disembarking,thrashed,sagrada,myeon,undeclared,qumran,gaiden,tepco,janesville,showground,condense,chalon,unstaffed,pasay,undemocratic,hauts,viridis,uninjured,escutcheon,gymkhana,petaling,hammam,dislocations,tallaght,rerum,shias,indios,guaranty,simplicial,benares,benediction,tajiri,prolifically,huawei,onerous,grantee,ferencvaros,otranto,carbonates,conceit,digipak,qadri,masterclasses,swamiji,cradock,plunket,helmsman,119th,salutes,tippecanoe,murshidabad,intelligibility,mittal,diversifying,bidar,asansol,crowdsourcing,rovere,karakoram,grindcore,skylights,tulagi,furrows,ligne,stuka,sumer,subgraph,amata,regionalist,bulkeley,teletext,glorify,readied,lexicographer,sabadell,predictability,quilmes,phenylalanine,bandaranaike,pyrmont,marksmen,quisling,viscountess,sociopolitical,afoul,pediments,swazi,martyrology,nullify,panagiotis,superconductors,veldenz,jujuy,l'isle,hematopoietic,shafi,subsea,hattiesburg,jyvaskyla,kebir,myeloid,landmine,derecho,amerindians,birkenau,scriabin,milhaud,mucosal,nikaya,freikorps,theoretician,proconsul,o'hanlon,clerked,bactria,houma,macular,topologically,shrubby,aryeh,ghazali,afferent,magalhaes,moduli,ashtabula,vidarbha,securitate,ludwigsburg,adoor,varun,shuja,khatun,chengde,bushels,lascelles,professionnelle,elfman,rangpur,unpowered,citytv,chojnice,quaternion,stokowski,aschaffenburg,commutes,subramaniam,methylene,satrap,gharb,namesakes,rathore,helier,gestational,heraklion,colliers,giannis,pastureland,evocation,krefeld,mahadeva,churchmen,egret,yilmaz,galeazzo,pudukkottai,artigas,generalitat,mudslides,frescoed,enfeoffed,aphorisms,melilla,montaigne,gauliga,parkdale,mauboy,linings,prema,sapir,xylophone,kushan,rockne,sequoyah,vasyl,rectilinear,vidyasagar,microcosm,san'a,carcinogen,thicknesses,aleut,farcical,moderating,detested,hegemonic,instalments,vauban,verwaltungsgemeinschaft,picayune,razorback,magellanic,moluccas,pankhurst,exportation,waldegrave,sufferer,bayswater,1up.com,rearmament,orangutans,varazdin,b.o.b,elucidate,harlingen,erudition,brankovic,lapis,slipway,urraca,shinde,unwell,elwes,euboea,colwyn,srivijaya,grandstands,hortons,generalleutnant,fluxes,peterhead,gandhian,reals,alauddin,maximized,fairhaven,endow,ciechanow,perforations,darters,panellist,manmade,litigants,exhibitor,tirol,caracalla,conformance,hotelier,stabaek,hearths,borac,frisians,ident,veliko,emulators,schoharie,uzbeks,samarra,prestwick,wadia,universita,tanah,bucculatrix,predominates,genotypes,denounces,roadsides,ganassi,keokuk,philatelist,tomic,ingots,conduits,samplers,abdus,johar,allegories,timaru,wolfpacks,secunda,smeaton,sportivo,inverting,contraindications,whisperer,moradabad,calamities,bakufu,soundscape,smallholders,nadeem,crossroad,xenophobic,zakir,nationalliga,glazes,retroflex,schwyz,moroder,rubra,quraysh,theodoros,endemol,infidels,km/hr,repositioned,portraitist,lluis,answerable,arges,mindedness,coarser,eyewall,teleported,scolds,uppland,vibraphone,ricoh,isenburg,bricklayer,cuttlefish,abstentions,communicable,cephalopod,stockyards,balto,kinston,armbar,bandini,elphaba,maxims,bedouins,sachsen,friedkin,tractate,pamir,ivanovo,mohini,kovalainen,nambiar,melvyn,orthonormal,matsuyama,cuernavaca,veloso,overstated,streamer,dravid,informers,analyte,sympathized,streetscape,gosta,thomasville,grigore,futuna,depleting,whelks,kiedis,armadale,earner,wynyard,dothan,animating,tridentine,sabri,immovable,rivoli,ariege,parley,clinker,circulates,junagadh,fraunhofer,congregants,180th,buducnost,formula_62,olmert,dedekind,karnak,bayernliga,mazes,sandpiper,ecclestone,yuvan,smallmouth,decolonization,lemmy,adjudicated,retiro,legia,benue,posit,acidification,wahab,taconic,floatplane,perchlorate,atria,wisbech,divestment,dallara,phrygia,palustris,cybersecurity,rebates,facie,mineralogical,substituent,proteges,fowey,mayenne,smoothbore,cherwell,schwarzschild,junin,murrumbidgee,smalltalk,d'orsay,emirati,calaveras,titusville,theremin,vikramaditya,wampanoag,burra,plaines,onegin,emboldened,whampoa,langa,soderbergh,arnaz,sowerby,arendal,godunov,pathanamthitta,damselfly,bestowing,eurosport,iconoclasm,outfitters,acquiesced,badawi,hypotension,ebbsfleet,annulus,sohrab,thenceforth,chagatai,necessitates,aulus,oddities,toynbee,uniontown,innervation,populaire,indivisible,rossellini,minuet,cyrene,gyeongju,chania,cichlids,harrods,1690s,plunges,abdullahi,gurkhas,homebuilt,sortable,bangui,rediff,incrementally,demetrios,medaille,sportif,svend,guttenberg,tubules,carthusian,pleiades,torii,hoppus,phenyl,hanno,conyngham,teschen,cronenberg,wordless,melatonin,distinctiveness,autos,freising,xuanzang,dunwich,satanism,sweyn,predrag,contractually,pavlovic,malaysians,micrometres,expertly,pannonian,abstaining,capensis,southwesterly,catchphrases,commercialize,frankivsk,normanton,hibernate,verso,deportees,dubliners,codice_8,condors,zagros,glosses,leadville,conscript,morrisons,usury,ossian,oulton,vaccinium,civet,ayman,codrington,hadron,nanometers,geochemistry,extractor,grigori,tyrrhenian,neocollyris,drooping,falsification,werft,courtauld,brigantine,orhan,chapultepec,supercopa,federalized,praga,havering,encampments,infallibility,sardis,pawar,undirected,reconstructionist,ardrossan,varuna,pastimes,archdiocesan,fledging,shenhua,molise,secondarily,stagnated,replicates,ciencias,duryodhana,marauding,ruislip,ilyich,intermixed,ravenswood,shimazu,mycorrhizal,icosahedral,consents,dunblane,follicular,pekin,suffield,muromachi,kinsale,gauche,businesspeople,thereto,watauga,exaltation,chelmno,gorse,proliferate,drainages,burdwan,kangra,transducers,inductor,duvalier,maguindanao,moslem,uncaf,givenchy,plantarum,liturgics,telegraphs,lukashenko,chenango,andante,novae,ironwood,faubourg,torme,chinensis,ambala,pietermaritzburg,virginians,landform,bottlenecks,o'driscoll,darbhanga,baptistery,ameer,needlework,naperville,auditoriums,mullingar,starrer,animatronic,topsoil,madura,cannock,vernet,santurce,catocala,ozeki,pontevedra,multichannel,sundsvall,strategists,medio,135th,halil,afridi,trelawny,caloric,ghraib,allendale,hameed,ludwigshafen,spurned,pavlo,palmar,strafed,catamarca,aveiro,harmonization,surah,predictors,solvay,mande,omnipresent,parenthesis,echolocation,equaling,experimenters,acyclic,lithographic,sepoys,katarzyna,sridevi,impoundment,khosrow,caesarean,nacogdoches,rockdale,lawmaker,caucasians,bahman,miyan,rubric,exuberance,bombastic,ductile,snowdonia,inlays,pinyon,anemones,hurries,hospitallers,tayyip,pulleys,treme,photovoltaics,testbed,polonium,ryszard,osgoode,profiting,ironwork,unsurpassed,nepticulidae,makai,lumbini,preclassic,clarksburg,egremont,videography,rehabilitating,ponty,sardonic,geotechnical,khurasan,solzhenitsyn,henna,phoenicia,rhyolite,chateaux,retorted,tomar,deflections,repressions,harborough,renan,brumbies,vandross,storia,vodou,clerkenwell,decking,universo,salon.com,imprisoning,sudwest,ghaziabad,subscribing,pisgah,sukhumi,econometric,clearest,pindar,yildirim,iulia,atlases,cements,remaster,dugouts,collapsible,resurrecting,batik,unreliability,thiers,conjunctions,colophon,marcher,placeholder,flagella,wolds,kibaki,viviparous,twelver,screenshots,aroostook,khadr,iconographic,itasca,jaume,basti,propounded,varro,be'er,jeevan,exacted,shrublands,creditable,brocade,boras,bittern,oneonta,attentional,herzliya,comprehensible,lakeville,discards,caxias,frankland,camerata,satoru,matlab,commutator,interprovincial,yorkville,benefices,nizami,edwardsville,amigaos,cannabinoid,indianola,amateurliga,pernicious,ubiquity,anarchic,novelties,precondition,zardari,symington,sargodha,headphone,thermopylae,mashonaland,zindagi,thalberg,loewe,surfactants,dobro,crocodilians,samhita,diatoms,haileybury,berwickshire,supercritical,sofie,snorna,slatina,intramolecular,agung,osteoarthritis,obstetric,teochew,vakhtang,connemara,deformations,diadem,ferruccio,mainichi,qualitatively,refrigerant,rerecorded,methylated,karmapa,krasinski,restatement,rouvas,cubitt,seacoast,schwarzkopf,homonymous,shipowner,thiamine,approachable,xiahou,160th,ecumenism,polistes,internazionali,fouad,berar,biogeography,texting,inadequately,'when,4kids,hymenoptera,emplaced,cognomen,bellefonte,supplant,michaelmas,uriel,tafsir,morazan,schweinfurt,chorister,ps400,nscaa,petipa,resolutely,ouagadougou,mascarene,supercell,konstanz,bagrat,harmonix,bergson,shrimps,resonators,veneta,camas,mynydd,rumford,generalmajor,khayyam,web.com,pappus,halfdan,tanana,suomen,yutaka,bibliographical,traian,silat,noailles,contrapuntal,agaricus,'special,minibuses,1670s,obadiah,deepa,rorschach,malolos,lymington,valuations,imperials,caballeros,ambroise,judicature,elegiac,sedaka,shewa,checksum,gosforth,legionaries,corneille,microregion,friedrichshafen,antonis,surnamed,mycelium,cantus,educations,topmost,outfitting,ivica,nankai,gouda,anthemic,iosif,supercontinent,antifungal,belarusians,mudaliar,mohawks,caversham,glaciated,basemen,stevan,clonmel,loughton,deventer,positivist,manipuri,tensors,panipat,changeup,impermeable,dubbo,elfsborg,maritimo,regimens,bikram,bromeliad,substratum,norodom,gaultier,queanbeyan,pompeo,redacted,eurocopter,mothballed,centaurs,borno,copra,bemidji,'home,sopron,neuquen,passo,cineplex,alexandrov,wysokie,mammoths,yossi,sarcophagi,congreve,petkovic,extraneous,waterbirds,slurs,indias,phaeton,discontented,prefaced,abhay,prescot,interoperable,nordisk,bicyclists,validly,sejong,litovsk,zanesville,kapitanleutnant,kerch,changeable,mcclatchy,celebi,attesting,maccoll,sepahan,wayans,veined,gaudens,markt,dansk,soane,quantized,petersham,forebears,nayarit,frenzied,queuing,bygone,viggo,ludwik,tanka,hanssen,brythonic,cornhill,primorsky,stockpiles,conceptualization,lampeter,hinsdale,mesoderm,bielsk,rosenheim,ultron,joffrey,stanwyck,khagan,tiraspol,pavelic,ascendant,empoli,metatarsal,descentralizado,masada,ligier,huseyin,ramadi,waratah,tampines,ruthenium,statoil,mladost,liger,grecian,multiparty,digraph,maglev,reconsideration,radiography,cartilaginous,taizu,wintered,anabaptist,peterhouse,shoghi,assessors,numerator,paulet,painstakingly,halakhic,rocroi,motorcycling,gimel,kryptonian,emmeline,cheeked,drawdown,lelouch,dacians,brahmana,reminiscence,disinfection,optimizations,golders,extensor,tsugaru,tolling,liman,gulzar,unconvinced,crataegus,oppositional,dvina,pyrolysis,mandan,alexius,prion,stressors,loomed,moated,dhivehi,recyclable,relict,nestlings,sarandon,kosovar,solvers,czeslaw,kenta,maneuverable,middens,berkhamsted,comilla,folkways,loxton,beziers,batumi,petrochemicals,optimised,sirjan,rabindra,musicality,rationalisation,drillers,subspaces,'live,bbwaa,outfielders,tsung,danske,vandalised,norristown,striae,kanata,gastroenterology,steadfastly,equalising,bootlegging,mannerheim,notodontidae,lagoa,commentating,peninsulas,chishti,seismology,modigliani,preceptor,canonically,awardee,boyaca,hsinchu,stiffened,nacelle,bogor,dryness,unobstructed,yaqub,scindia,peeters,irritant,ammonites,ferromagnetic,speechwriter,oxygenated,walesa,millais,canarian,faience,calvinistic,discriminant,rasht,inker,annexes,howth,allocates,conditionally,roused,regionalism,regionalbahn,functionary,nitrates,bicentenary,recreates,saboteurs,koshi,plasmids,thinned,124th,plainview,kardashian,neuville,victorians,radiates,127th,vieques,schoolmates,petru,tokusatsu,keying,sunaina,flamethrower,'bout,demersal,hosokawa,corelli,omniscient,o'doherty,niksic,reflectivity,transdev,cavour,metronome,temporally,gabba,nsaids,geert,mayport,hematite,boeotia,vaudreuil,torshavn,sailplane,mineralogist,eskisehir,practises,gallifrey,takumi,unease,slipstream,hedmark,paulinus,ailsa,wielkopolska,filmworks,adamantly,vinaya,facelifted,franchisee,augustana,toppling,velvety,crispa,stonington,histological,genealogist,tactician,tebow,betjeman,nyingma,overwinter,oberoi,rampal,overwinters,petaluma,lactarius,stanmore,balikpapan,vasant,inclines,laminate,munshi,sociedade,rabbah,septal,boyband,ingrained,faltering,inhumans,nhtsa,affix,l'ordre,kazuki,rossendale,mysims,latvians,slaveholders,basilicata,neuburg,assize,manzanillo,scrobipalpa,formula_61,belgique,pterosaurs,privateering,vaasa,veria,northport,pressurised,hobbyist,austerlitz,sahih,bhadra,siliguri,bistrica,bursaries,wynton,corot,lepidus,lully,libor,libera,olusegun,choline,mannerism,lymphocyte,chagos,duxbury,parasitism,ecowas,morotai,cancion,coniston,aggrieved,sputnikmusic,parle,ammonian,civilisations,malformation,cattaraugus,skyhawks,d'arc,demerara,bronfman,midwinter,piscataway,jogaila,threonine,matins,kohlberg,hubli,pentatonic,camillus,nigam,potro,unchained,chauvel,orangeville,cistercians,redeployment,xanthi,manju,carabinieri,pakeha,nikolaevich,kantakouzenos,sesquicentennial,gunships,symbolised,teramo,ballo,crusading,l'oeil,bharatpur,lazier,gabrovo,hysteresis,rothbard,chaumont,roundel,ma'mun,sudhir,queried,newts,shimane,presynaptic,playfield,taxonomists,sensitivities,freleng,burkinabe,orfeo,autovia,proselytizing,bhangra,pasok,jujutsu,heung,pivoting,hominid,commending,formula_64,epworth,christianized,oresund,hantuchova,rajputana,hilversum,masoretic,dayak,bakri,assen,magog,macromolecules,waheed,qaida,spassky,rumped,protrudes,preminger,misogyny,glencairn,salafi,lacunae,grilles,racemes,areva,alighieri,inari,epitomized,photoshoot,one-of-a-kind,tring,muralist,tincture,backwaters,weaned,yeasts,analytically,smaland,caltrans,vysocina,jamuna,mauthausen,175th,nouvelles,censoring,reggina,christology,gilad,amplifying,mehmood,johnsons,redirects,eastgate,sacrum,meteoric,riverbanks,guidebooks,ascribes,scoparia,iconoclastic,telegraphic,chine,merah,mistico,lectern,sheung,aethelstan,capablanca,anant,uspto,albatrosses,mymensingh,antiretroviral,clonal,coorg,vaillant,liquidator,gigas,yokai,eradicating,motorcyclists,waitakere,tandon,nears,montenegrins,250th,tatsuya,yassin,atheistic,syncretism,nahum,berisha,transcended,owensboro,lakshmana,abteilung,unadorned,nyack,overflows,harrisonburg,complainant,uematsu,frictional,worsens,sangguniang,abutment,bulwer,sarma,apollinaire,shippers,lycia,alentejo,porpoises,optus,trawling,augustow,blackwall,workbench,westmount,leaped,sikandar,conveniences,stornoway,culverts,zoroastrians,hristo,ansgar,assistive,reassert,fanned,compasses,delgada,maisons,arima,plonsk,verlaine,starstruck,rakhine,befell,spirally,wyclef,expend,colloquium,formula_63,albertus,bellarmine,handedness,holon,introns,movimiento,profitably,lohengrin,discoverers,awash,erste,pharisees,dwarka,oghuz,hashing,heterodox,uloom,vladikavkaz,linesman,rehired,nucleophile,germanicus,gulshan,songz,bayerische,paralympian,crumlin,enjoined,khanum,prahran,penitent,amersfoort,saranac,semisimple,vagrants,compositing,tualatin,oxalate,lavra,ironi,ilkeston,umpqua,calum,stretford,zakat,guelders,hydrazine,birkin,spurring,modularity,aspartate,sodermanland,hopital,bellary,legazpi,clasico,cadfael,hypersonic,volleys,pharmacokinetics,carotene,orientale,pausini,bataille,lunga,retailed,m.phil,mazowieckie,vijayan,rawal,sublimation,promissory,estimators,ploughed,conflagration,penda,segregationist,otley,amputee,coauthor,sopra,pellew,wreckers,tollywood,circumscription,permittivity,strabane,landward,articulates,beaverbrook,rutherglen,coterminous,whistleblowers,colloidal,surbiton,atlante,oswiecim,bhasa,lampooned,chanter,saarc,landkreis,tribulation,tolerates,daiichi,hatun,cowries,dyschirius,abercromby,attock,aldwych,inflows,absolutist,l'histoire,committeeman,vanbrugh,headstock,westbourne,appenzell,hoxton,oculus,westfalen,roundabouts,nickelback,trovatore,quenching,summarises,conservators,transmutation,talleyrand,barzani,unwillingly,axonal,'blue,opining,enveloping,fidesz,rafah,colborne,flickr,lozenge,dulcimer,ndebele,swaraj,oxidize,gonville,resonated,gilani,superiore,endeared,janakpur,shepperton,solidifying,memoranda,sochaux,kurnool,rewari,emirs,kooning,bruford,unavailability,kayseri,judicious,negating,pterosaur,cytosolic,chernihiv,variational,sabretooth,seawolves,devalued,nanded,adverb,volunteerism,sealers,nemours,smederevo,kashubian,bartin,animax,vicomte,polotsk,polder,archiepiscopal,acceptability,quidditch,tussock,seminaire,immolation,belge,coves,wellingborough,khaganate,mckellen,nayaka,brega,kabhi,pontoons,bascule,newsreels,injectors,cobol,weblog,diplo,biggar,wheatbelt,erythrocytes,pedra,showgrounds,bogdanovich,eclecticism,toluene,elegies,formalize,andromedae,airworthiness,springville,mainframes,overexpression,magadha,bijelo,emlyn,glutamine,accenture,uhuru,metairie,arabidopsis,patanjali,peruvians,berezovsky,accion,astrolabe,jayanti,earnestly,sausalito,recurved,1500s,ramla,incineration,galleons,laplacian,shiki,smethwick,isomerase,dordevic,janow,jeffersonville,internationalism,penciled,styrene,ashur,nucleoside,peristome,horsemanship,sedges,bachata,medes,kristallnacht,schneerson,reflectance,invalided,strutt,draupadi,destino,partridges,tejas,quadrennial,aurel,halych,ethnomusicology,autonomist,radyo,rifting,shi'ar,crvena,telefilm,zawahiri,plana,sultanates,theodorus,subcontractors,pavle,seneschal,teleports,chernivtsi,buccal,brattleboro,stankovic,safar,dunhuang,electrocution,chastised,ergonomic,midsomer,130th,zomba,nongovernmental,escapist,localize,xuzhou,kyrie,carinthian,karlovac,nisan,kramnik,pilipino,digitisation,khasi,andronicus,highwayman,maior,misspelling,sebastopol,socon,rhaetian,archimandrite,partway,positivity,otaku,dingoes,tarski,geopolitics,disciplinarian,zulfikar,kenzo,globose,electrophilic,modele,storekeeper,pohang,wheldon,washers,interconnecting,digraphs,intrastate,campy,helvetic,frontispiece,ferrocarril,anambra,petraeus,midrib,endometrial,dwarfism,mauryan,endocytosis,brigs,percussionists,furtherance,synergistic,apocynaceae,krona,berthier,circumvented,casal,siltstone,precast,ethnikos,realists,geodesy,zarzuela,greenback,tripathi,persevered,interments,neutralization,olbermann,departements,supercomputing,demobilised,cassavetes,dunder,ministering,veszprem,barbarism,'world,pieve,apologist,frentzen,sulfides,firewalls,pronotum,staatsoper,hachette,makhachkala,oberland,phonon,yoshihiro,instars,purnima,winslet,mutsu,ergative,sajid,nizamuddin,paraphrased,ardeidae,kodagu,monooxygenase,skirmishers,sportiva,o'byrne,mykolaiv,ophir,prieta,gyllenhaal,kantian,leche,copan,herero,ps250,gelsenkirchen,shalit,sammarinese,chetwynd,wftda,travertine,warta,sigmaringen,concerti,namespace,ostergotland,biomarker,universals,collegio,embarcadero,wimborne,fiddlers,likening,ransomed,stifled,unabated,kalakaua,khanty,gongs,goodrem,countermeasure,publicizing,geomorphology,swedenborg,undefended,catastrophes,diverts,storyboards,amesbury,contactless,placentia,festivity,authorise,terrane,thallium,stradivarius,antonine,consortia,estimations,consecrate,supergiant,belichick,pendants,butyl,groza,univac,afire,kavala,studi,teletoon,paucity,gonbad,koninklijke,128th,stoichiometric,multimodal,facundo,anatomic,melamine,creuse,altan,brigands,mcguinty,blomfield,tsvangirai,protrusion,lurgan,warminster,tenzin,russellville,discursive,definable,scotrail,lignin,reincorporated,o'dell,outperform,redland,multicolored,evaporates,dimitrie,limbic,patapsco,interlingua,surrogacy,cutty,potrero,masud,cahiers,jintao,ardashir,centaurus,plagiarized,minehead,musings,statuettes,logarithms,seaview,prohibitively,downforce,rivington,tomorrowland,microbiologist,ferric,morag,capsid,kucinich,clairvaux,demotic,seamanship,cicada,painterly,cromarty,carbonic,tupou,oconee,tehuantepec,typecast,anstruther,internalized,underwriters,tetrahedra,flagrant,quakes,pathologies,ulrik,nahal,tarquini,dongguan,parnassus,ryoko,senussi,seleucia,airasia,einer,sashes,d'amico,matriculating,arabesque,honved,biophysical,hardinge,kherson,mommsen,diels,icbms,reshape,brasiliensis,palmach,netaji,oblate,functionalities,grigor,blacksburg,recoilless,melanchthon,reales,astrodome,handcrafted,memes,theorizes,isma'il,aarti,pirin,maatschappij,stabilizes,honiara,ashbury,copts,rootes,defensed,queiroz,mantegna,galesburg,coraciiformesfamily,cabrillo,tokio,antipsychotics,kanon,173rd,apollonia,finial,lydian,hadamard,rangi,dowlatabad,monolingual,platformer,subclasses,chiranjeevi,mirabeau,newsgroup,idmanyurdu,kambojas,walkover,zamoyski,generalist,khedive,flanges,knowle,bande,157th,alleyn,reaffirm,pininfarina,zuckerberg,hakodate,131st,aditi,bellinzona,vaulter,planking,boscombe,colombians,lysis,toppers,metered,nahyan,queensryche,minho,nagercoil,firebrand,foundress,bycatch,mendota,freeform,antena,capitalisation,martinus,overijssel,purists,interventionist,zgierz,burgundians,hippolyta,trompe,umatilla,moroccans,dictionnaire,hydrography,changers,chota,rimouski,aniline,bylaw,grandnephew,neamt,lemnos,connoisseurs,tractive,rearrangements,fetishism,finnic,apalachicola,landowning,calligraphic,circumpolar,mansfeld,legible,orientalism,tannhauser,blamey,maximization,noinclude,blackbirds,angara,ostersund,pancreatitis,glabra,acleris,juried,jungian,triumphantly,singlet,plasmas,synesthesia,yellowhead,unleashes,choiseul,quanzhong,brookville,kaskaskia,igcse,skatepark,jatin,jewellers,scaritinae,techcrunch,tellurium,lachaise,azuma,codeshare,dimensionality,unidirectional,scolaire,macdill,camshafts,unassisted,verband,kahlo,eliya,prelature,chiefdoms,saddleback,sockers,iommi,coloratura,llangollen,biosciences,harshest,maithili,k'iche,plical,multifunctional,andreu,tuskers,confounding,sambre,quarterdeck,ascetics,berdych,transversal,tuolumne,sagami,petrobras,brecker,menxia,instilling,stipulating,korra,oscillate,deadpan,v/line,pyrotechnic,stoneware,prelims,intracoastal,retraining,ilija,berwyn,encrypt,achievers,zulfiqar,glycoproteins,khatib,farmsteads,occultist,saman,fionn,derulo,khilji,obrenovic,argosy,toowong,dementieva,sociocultural,iconostasis,craigslist,festschrift,taifa,intercalated,tanjong,penticton,sharad,marxian,extrapolation,guises,wettin,prabang,exclaiming,kosta,famas,conakry,wanderings,'aliabad,macleay,exoplanet,bancorp,besiegers,surmounting,checkerboard,rajab,vliet,tarek,operable,wargaming,haldimand,fukuyama,uesugi,aggregations,erbil,brachiopods,tokyu,anglais,unfavorably,ujpest,escorial,armagnac,nagara,funafuti,ridgeline,cocking,o'gorman,compactness,retardant,krajowa,barua,coking,bestows,thampi,chicagoland,variably,o'loughlin,minnows,schwa,shaukat,polycarbonate,chlorinated,godalming,gramercy,delved,banqueting,enlil,sarada,prasanna,domhnall,decadal,regressive,lipoprotein,collectable,surendra,zaporizhia,cycliste,suchet,offsetting,formula_65,pudong,d'arte,blyton,quonset,osmania,tientsin,manorama,proteomics,bille,jalpaiguri,pertwee,barnegat,inventiveness,gollancz,euthanized,henricus,shortfalls,wuxia,chlorides,cerrado,polyvinyl,folktale,straddled,bioengineering,eschewing,greendale,recharged,olave,ceylonese,autocephalous,peacebuilding,wrights,guyed,rosamund,abitibi,bannockburn,gerontology,scutari,souness,seagram,codice_9,'open,xhtml,taguig,purposed,darbar,orthopedics,unpopulated,kisumu,tarrytown,feodor,polyhedral,monadnock,gottorp,priam,redesigning,gasworks,elfin,urquiza,homologation,filipovic,bohun,manningham,gornik,soundness,shorea,lanus,gelder,darke,sandgate,criticality,paranaense,153rd,vieja,lithograph,trapezoid,tiebreakers,convalescence,yan'an,actuaries,balad,altimeter,thermoelectric,trailblazer,previn,tenryu,ancaster,endoscopy,nicolet,discloses,fracking,plaine,salado,americanism,placards,absurdist,propylene,breccia,jirga,documenta,ismailis,161st,brentano,dallas/fort,embellishment,calipers,subscribes,mahavidyalaya,wednesbury,barnstormers,miwok,schembechler,minigame,unterberger,dopaminergic,inacio,nizamabad,overridden,monotype,cavernous,stichting,sassafras,sotho,argentinean,myrrh,rapidity,flatts,gowrie,dejected,kasaragod,cyprinidae,interlinked,arcseconds,degeneracy,infamously,incubate,substructure,trigeminal,sectarianism,marshlands,hooliganism,hurlers,isolationist,urania,burrard,switchover,lecco,wilts,interrogator,strived,ballooning,volterra,raciborz,relegating,gilding,cybele,dolomites,parachutist,lochaber,orators,raeburn,backend,benaud,rallycross,facings,banga,nuclides,defencemen,futurity,emitters,yadkin,eudonia,zambales,manasseh,sirte,meshes,peculiarly,mcminnville,roundly,boban,decrypt,icelanders,sanam,chelan,jovian,grudgingly,penalised,subscript,gambrinus,poaceae,infringements,maleficent,runciman,148th,supersymmetry,granites,liskeard,eliciting,involution,hallstatt,kitzbuhel,shankly,sandhills,inefficiencies,yishuv,psychotropic,nightjars,wavell,sangamon,vaikundar,choshu,retrospectives,pitesti,gigantea,hashemi,bosna,gakuin,siochana,arrangers,baronetcies,narayani,temecula,creston,koscierzyna,autochthonous,wyandot,anniston,igreja,mobilise,buzau,dunster,musselburgh,wenzhou,khattak,detoxification,decarboxylase,manlius,campbells,coleoptera,copyist,sympathisers,suisun,eminescu,defensor,transshipment,thurgau,somerton,fluctuates,ambika,weierstrass,lukow,giambattista,volcanics,romanticized,innovated,matabeleland,scotiabank,garwolin,purine,d'auvergne,borderland,maozhen,pricewaterhousecoopers,testator,pallium,scout.com,mv/pi,nazca,curacies,upjohn,sarasvati,monegasque,ketrzyn,malory,spikelets,biomechanics,haciendas,rapped,dwarfed,stews,nijinsky,subjection,matsu,perceptible,schwarzburg,midsection,entertains,circuitous,epiphytic,wonsan,alpini,bluefield,sloths,transportable,braunfels,dictum,szczecinek,jukka,wielun,wejherowo,hucknall,grameen,duodenum,ribose,deshpande,shahar,nexstar,injurious,dereham,lithographer,dhoni,structuralist,progreso,deschutes,christus,pulteney,quoins,yitzchak,gyeongsang,breviary,makkah,chiyoda,jutting,vineland,angiosperms,necrotic,novelisation,redistribute,tirumala,140th,featureless,mafic,rivaling,toyline,2/1st,martius,saalfeld,monthan,texian,kathak,melodramas,mithila,regierungsbezirk,509th,fermenting,schoolmate,virtuosic,briain,kokoda,heliocentric,handpicked,kilwinning,sonically,dinars,kasim,parkways,bogdanov,luxembourgian,halland,avesta,bardic,daugavpils,excavator,qwest,frustrate,physiographic,majoris,'ndrangheta,unrestrained,firmness,montalban,abundances,preservationists,adare,executioners,guardsman,bonnaroo,neglects,nazrul,pro12,hoorn,abercorn,refuting,kabud,cationic,parapsychology,troposphere,venezuelans,malignancy,khoja,unhindered,accordionist,medak,visby,ejercito,laparoscopic,dinas,umayyads,valmiki,o'dowd,saplings,stranding,incisions,illusionist,avocets,buccleuch,amazonia,fourfold,turboprops,roosts,priscus,turnstile,areal,certifies,pocklington,spoofs,viseu,commonalities,dabrowka,annam,homesteaders,daredevils,mondrian,negotiates,fiestas,perennials,maximizes,lubavitch,ravindra,scrapers,finials,kintyre,violas,snoqualmie,wilders,openbsd,mlawa,peritoneal,devarajan,congke,leszno,mercurial,fakir,joannes,bognor,overloading,unbuilt,gurung,scuttle,temperaments,bautzen,jardim,tradesman,visitations,barbet,sagamore,graaff,forecasters,wilsons,assis,l'air,shariah,sochaczew,russa,dirge,biliary,neuve,heartbreakers,strathearn,jacobian,overgrazing,edrich,anticline,parathyroid,petula,lepanto,decius,channelled,parvathi,puppeteers,communicators,francorchamps,kahane,longus,panjang,intron,traite,xxvii,matsuri,amrit,katyn,disheartened,cacak,omonia,alexandrine,partaking,wrangling,adjuvant,haskovo,tendrils,greensand,lammermoor,otherworld,volusia,stabling,one-and-a-half,bresson,zapatista,eotvos,ps150,webisodes,stepchildren,microarray,braganca,quanta,dolne,superoxide,bellona,delineate,ratha,lindenwood,bruhl,cingulate,tallies,bickerton,helgi,bevin,takoma,tsukuba,statuses,changeling,alister,bytom,dibrugarh,magnesia,duplicating,outlier,abated,goncalo,strelitz,shikai,mardan,musculature,ascomycota,springhill,tumuli,gabaa,odenwald,reformatted,autocracy,theresienstadt,suplex,chattopadhyay,mencken,congratulatory,weatherfield,systema,solemnity,projekt,quanzhou,kreuzberg,postbellum,nobuo,mediaworks,finisterre,matchplay,bangladeshis,kothen,oocyte,hovered,aromas,afshar,browed,teases,chorlton,arshad,cesaro,backbencher,iquique,vulcans,padmini,unabridged,cyclase,despotic,kirilenko,achaean,queensberry,debre,octahedron,iphigenia,curbing,karimnagar,sagarmatha,smelters,surrealists,sanada,shrestha,turridae,leasehold,jiedushi,eurythmics,appropriating,correze,thimphu,amery,musicomh,cyborgs,sandwell,pushcart,retorts,ameliorate,deteriorates,stojanovic,spline,entrenchments,bourse,chancellorship,pasolini,lendl,personage,reformulated,pubescens,loiret,metalurh,reinvention,nonhuman,eilema,tarsal,complutense,magne,broadview,metrodome,outtake,stouffville,seinen,bataillon,phosphoric,ostensible,opatow,aristides,beefheart,glorifying,banten,romsey,seamounts,fushimi,prophylaxis,sibylla,ranjith,goslar,balustrades,georgiev,caird,lafitte,peano,canso,bankura,halfpenny,segregate,caisson,bizerte,jamshedpur,euromaidan,philosophie,ridged,cheerfully,reclassification,aemilius,visionaries,samoans,wokingham,chemung,wolof,unbranched,cinerea,bhosle,ourense,immortalised,cornerstones,sourcebook,khufu,archimedean,universitatea,intermolecular,fiscally,suffices,metacomet,adjudicator,stablemate,specks,glace,inowroclaw,patristic,muharram,agitating,ashot,neurologic,didcot,gamla,ilves,putouts,siraj,laski,coaling,diarmuid,ratnagiri,rotulorum,liquefaction,morbihan,harel,aftershock,gruiformesfamily,bonnier,falconiformesfamily,adorns,wikis,maastrichtian,stauffenberg,bishopsgate,fakhr,sevenfold,ponders,quantifying,castiel,opacity,depredations,lenten,gravitated,o'mahony,modulates,inuktitut,paston,kayfabe,vagus,legalised,balked,arianism,tendering,sivas,birthdate,awlaki,khvajeh,shahab,samtgemeinde,bridgeton,amalgamations,biogenesis,recharging,tsukasa,mythbusters,chamfered,enthronement,freelancers,maharana,constantia,sutil,messines,monkton,okanogan,reinvigorated,apoplexy,tanahashi,neues,valiants,harappan,russes,carding,volkoff,funchal,statehouse,imitative,intrepidity,mellotron,samaras,turkana,besting,longitudes,exarch,diarrhoea,transcending,zvonareva,darna,ramblin,disconnection,137th,refocused,diarmait,agricole,ba'athist,turenne,contrabass,communis,daviess,fatimids,frosinone,fittingly,polyphyletic,qanat,theocratic,preclinical,abacha,toorak,marketplaces,conidia,seiya,contraindicated,retford,bundesautobahn,rebuilds,climatology,seaworthy,starfighter,qamar,categoria,malai,hellinsia,newstead,airworthy,catenin,avonmouth,arrhythmias,ayyavazhi,downgrade,ashburnham,ejector,kinematics,petworth,rspca,filmation,accipitridae,chhatrapati,g/mol,bacau,agama,ringtone,yudhoyono,orchestrator,arbitrators,138th,powerplants,cumbernauld,alderley,misamis,hawai`i,cuando,meistriliiga,jermyn,alans,pedigrees,ottavio,approbation,omnium,purulia,prioress,rheinland,lymphoid,lutsk,oscilloscope,ballina,iliac,motorbikes,modernising,uffizi,phylloxera,kalevala,bengalis,amravati,syntheses,interviewers,inflectional,outflank,maryhill,unhurt,profiler,nacelles,heseltine,personalised,guarda,herpetologist,airpark,pigot,margaretha,dinos,peleliu,breakbeat,kastamonu,shaivism,delamere,kingsville,epigram,khlong,phospholipids,journeying,lietuvos,congregated,deviance,celebes,subsoil,stroma,kvitova,lubricating,layoff,alagoas,olafur,doron,interuniversity,raycom,agonopterix,uzice,nanna,springvale,raimundo,wrested,pupal,talat,skinheads,vestige,unpainted,handan,odawara,ammar,attendee,lapped,myotis,gusty,ciconiiformesfamily,traversal,subfield,vitaphone,prensa,hasidism,inwood,carstairs,kropotkin,turgenev,dobra,remittance,purim,tannin,adige,tabulation,lethality,pacha,micronesian,dhruva,defensemen,tibeto,siculus,radioisotope,sodertalje,phitsanulok,euphonium,oxytocin,overhangs,skinks,fabrica,reinterred,emulates,bioscience,paragliding,raekwon,perigee,plausibility,frolunda,erroll,aznar,vyasa,albinus,trevally,confederacion,terse,sixtieth,1530s,kendriya,skateboarders,frontieres,muawiyah,easements,shehu,conservatively,keystones,kasem,brutalist,peekskill,cowry,orcas,syllabary,paltz,elisabetta,denticles,hampering,dolni,eidos,aarau,lermontov,yankton,shahbaz,barrages,kongsvinger,reestablishment,acetyltransferase,zulia,mrnas,slingsby,eucalypt,efficacious,weybridge,gradation,cinematheque,malthus,bampton,coexisted,cisse,hamdi,cupertino,saumarez,chionodes,libertine,formers,sakharov,pseudonymous,vol.1,mcduck,gopalakrishnan,amberley,jorhat,grandmasters,rudiments,dwindle,param,bukidnon,menander,americanus,multipliers,pulawy,homoerotic,pillbox,cd+dvd,epigraph,aleksandrow,extrapolated,horseshoes,contemporain,angiography,hasselt,shawinigan,memorization,legitimized,cyclades,outsold,rodolphe,kelis,powerball,dijkstra,analyzers,incompressible,sambar,orangeburg,osten,reauthorization,adamawa,sphagnum,hypermarket,millipedes,zoroaster,madea,ossuary,murrayfield,pronominal,gautham,resellers,ethers,quarrelled,dolna,stragglers,asami,tangut,passos,educacion,sharaf,texel,berio,bethpage,bezalel,marfa,noronha,36ers,genteel,avram,shilton,compensates,sweetener,reinstalled,disables,noether,1590s,balakrishnan,kotaro,northallerton,cataclysm,gholam,cancellara,schiphol,commends,longinus,albinism,gemayel,hamamatsu,volos,islamism,sidereal,pecuniary,diggings,townsquare,neosho,lushan,chittoor,akhil,disputation,desiccation,cambodians,thwarting,deliberated,ellipsis,bahini,susumu,separators,kohneh,plebeians,kultur,ogaden,pissarro,trypeta,latur,liaodong,vetting,datong,sohail,alchemists,lengthwise,unevenly,masterly,microcontrollers,occupier,deviating,farringdon,baccalaureat,theocracy,chebyshev,archivists,jayaram,ineffectiveness,scandinavians,jacobins,encomienda,nambu,g/cm3,catesby,paavo,heeded,rhodium,idealised,10deg,infective,mecyclothorax,halevy,sheared,minbari,audax,lusatian,rebuffs,hitfix,fastener,subjugate,tarun,binet,compuserve,synthesiser,keisuke,amalric,ligatures,tadashi,ignazio,abramovich,groundnut,otomo,maeve,mortlake,ostrogoths,antillean,todor,recto,millimetre,espousing,inaugurate,paracetamol,galvanic,harpalinae,jedrzejow,reassessment,langlands,civita,mikan,stikine,bijar,imamate,istana,kaiserliche,erastus,federale,cytosine,expansionism,hommes,norrland,smriti,snapdragon,gulab,taleb,lossy,khattab,urbanised,sesto,rekord,diffuser,desam,morganatic,silting,pacts,extender,beauharnais,purley,bouches,halfpipe,discontinuities,houthi,farmville,animism,horni,saadi,interpretative,blockades,symeon,biogeographic,transcaucasian,jetties,landrieu,astrocytes,conjunto,stumpings,weevils,geysers,redux,arching,romanus,tazeh,marcellinus,casein,opava,misrata,anare,sattar,declarer,dreux,oporto,venta,vallis,icosahedron,cortona,lachine,mohammedan,sandnes,zynga,clarin,diomedes,tsuyoshi,pribram,gulbarga,chartist,superettan,boscawen,altus,subang,gating,epistolary,vizianagaram,ogdensburg,panna,thyssen,tarkovsky,dzogchen,biograph,seremban,unscientific,nightjar,legco,deism,n.w.a,sudha,siskel,sassou,flintlock,jovial,montbeliard,pallida,formula_66,tranquillity,nisei,adornment,'people,yamhill,hockeyallsvenskan,adopters,appian,lowicz,haplotypes,succinctly,starogard,presidencies,kheyrabad,sobibor,kinesiology,cowichan,militum,cromwellian,leiningen,ps1.5,concourses,dalarna,goldfield,brzeg,faeces,aquarii,matchless,harvesters,181st,numismatics,korfball,sectioned,transpires,facultative,brandishing,kieron,forages,menai,glutinous,debarge,heathfield,1580s,malang,photoelectric,froome,semiotic,alwar,grammophon,chiaroscuro,mentalist,maramures,flacco,liquors,aleutians,marvell,sutlej,patnaik,qassam,flintoff,bayfield,haeckel,sueno,avicii,exoplanets,hoshi,annibale,vojislav,honeycombs,celebrant,rendsburg,veblen,quails,141st,carronades,savar,narrations,jeeva,ontologies,hedonistic,marinette,godot,munna,bessarabian,outrigger,thame,gravels,hoshino,falsifying,stereochemistry,nacionalista,medially,radula,ejecting,conservatorio,odile,ceiba,jaina,essonne,isometry,allophones,recidivism,iveco,ganda,grammarians,jagan,signposted,uncompressed,facilitators,constancy,ditko,propulsive,impaling,interbank,botolph,amlaib,intergroup,sorbus,cheka,debye,praca,adorning,presbyteries,dormition,strategos,qarase,pentecostals,beehives,hashemite,goldust,euronext,egress,arpanet,soames,jurchens,slovenska,copse,kazim,appraisals,marischal,mineola,sharada,caricaturist,sturluson,galba,faizabad,overwintering,grete,uyezds,didsbury,libreville,ablett,microstructure,anadolu,belenenses,elocution,cloaks,timeslots,halden,rashidun,displaces,sympatric,germanus,tuples,ceska,equalize,disassembly,krautrock,babangida,memel,deild,gopala,hematology,underclass,sangli,wawrinka,assur,toshack,refrains,nicotinic,bhagalpur,badami,racetracks,pocatello,walgreens,nazarbayev,occultation,spinnaker,geneon,josias,hydrolyzed,dzong,corregimiento,waistcoat,thermoplastic,soldered,anticancer,lactobacillus,shafi'i,carabus,adjournment,schlumberger,triceratops,despotate,mendicant,krishnamurti,bahasa,earthworm,lavoisier,noetherian,kalki,fervently,bhawan,saanich,coquille,gannet,motagua,kennels,mineralization,fitzherbert,svein,bifurcated,hairdressing,felis,abounded,dimers,fervour,hebdo,bluffton,aetna,corydon,clevedon,carneiro,subjectively,deutz,gastropoda,overshot,concatenation,varman,carolla,maharshi,mujib,inelastic,riverhead,initialized,safavids,rohini,caguas,bulges,fotbollforbund,hefei,spithead,westville,maronites,lytham,americo,gediminas,stephanus,chalcolithic,hijra,gnu/linux,predilection,rulership,sterility,haidar,scarlatti,saprissa,sviatoslav,pointedly,sunroof,guarantor,thevar,airstrips,pultusk,sture,129th,divinities,daizong,dolichoderus,cobourg,maoists,swordsmanship,uprated,bohme,tashi,largs,chandi,bluebeard,householders,richardsonian,drepanidae,antigonish,elbasan,occultism,marca,hypergeometric,oirat,stiglitz,ignites,dzungar,miquelon,pritam,d'automne,ulidiid,niamey,vallecano,fondo,billiton,incumbencies,raceme,chambery,cadell,barenaked,kagame,summerside,haussmann,hatshepsut,apothecaries,criollo,feint,nasals,timurid,feltham,plotinus,oxygenation,marginata,officinalis,salat,participations,ising,downe,izumo,unguided,pretence,coursed,haruna,viscountcy,mainstage,justicia,powiat,takara,capitoline,implacable,farben,stopford,cosmopterix,tuberous,kronecker,galatians,kweli,dogmas,exhorted,trebinje,skanda,newlyn,ablative,basidia,bhiwani,encroachments,stranglers,regrouping,tubal,shoestring,wawel,anionic,mesenchymal,creationists,pyrophosphate,moshi,despotism,powerbook,fatehpur,rupiah,segre,ternate,jessore,b.i.g,shevardnadze,abounds,gliwice,densest,memoria,suborbital,vietcong,ratepayers,karunanidhi,toolbar,descents,rhymney,exhortation,zahedan,carcinomas,hyperbaric,botvinnik,billets,neuropsychological,tigranes,hoards,chater,biennially,thistles,scotus,wataru,flotillas,hungama,monopolistic,payouts,vetch,generalissimo,caries,naumburg,piran,blizzards,escalates,reactant,shinya,theorize,rizzoli,transitway,ecclesiae,streptomyces,cantal,nisibis,superconductor,unworkable,thallus,roehampton,scheckter,viceroys,makuuchi,ilkley,superseding,takuya,klodzko,borbon,raspberries,operand,w.a.k.o,sarabande,factionalism,egalitarianism,temasek,torbat,unscripted,jorma,westerner,perfective,vrije,underlain,goldfrapp,blaenau,jomon,barthes,drivetime,bassa,bannock,umaga,fengxiang,zulus,sreenivasan,farces,codice_10,freeholder,poddebice,imperialists,deregulated,wingtip,o'hagan,pillared,overtone,hofstadter,149th,kitano,saybrook,standardizing,aldgate,staveley,o'flaherty,hundredths,steerable,soltan,empted,cruyff,intramuros,taluks,cotonou,marae,karur,figueres,barwon,lucullus,niobe,zemlya,lathes,homeported,chaux,amyotrophic,opines,exemplars,bhamo,homomorphisms,gauleiter,ladin,mafiosi,airdrieonians,b/soul,decal,transcaucasia,solti,defecation,deaconess,numidia,sampradaya,normalised,wingless,schwaben,alnus,cinerama,yakutsk,ketchikan,orvieto,unearned,monferrato,rotem,aacsb,loong,decoders,skerries,cardiothoracic,repositioning,pimpernel,yohannan,tenebrionoidea,nargis,nouvel,costliest,interdenominational,noize,redirecting,zither,morcha,radiometric,frequenting,irtysh,gbagbo,chakri,litvinenko,infotainment,ravensbruck,harith,corbels,maegashira,jousting,natan,novus,falcao,minis,railed,decile,rauma,ramaswamy,cavitation,paranaque,berchtesgaden,reanimated,schomberg,polysaccharides,exclusionary,cleon,anurag,ravaging,dhanush,mitchells,granule,contemptuous,keisei,rolleston,atlantean,yorkist,daraa,wapping,micrometer,keeneland,comparably,baranja,oranje,schlafli,yogic,dinajpur,unimpressive,masashi,recreativo,alemannic,petersfield,naoko,vasudeva,autosport,rajat,marella,busko,wethersfield,ssris,soulcalibur,kobani,wildland,rookery,hoffenheim,kauri,aliphatic,balaclava,ferrite,publicise,victorias,theism,quimper,chapbook,functionalist,roadbed,ulyanovsk,cupen,purpurea,calthorpe,teofilo,mousavi,cochlea,linotype,detmold,ellerslie,gakkai,telkom,southsea,subcontractor,inguinal,philatelists,zeebrugge,piave,trochidae,dempo,spoilt,saharanpur,mihrab,parasympathetic,barbarous,chartering,antiqua,katsina,bugis,categorizes,altstadt,kandyan,pambansa,overpasses,miters,assimilating,finlandia,uneconomic,am/fm,harpsichordist,dresdner,luminescence,authentically,overpowers,magmatic,cliftonville,oilfields,skirted,berthe,cuman,oakham,frelimo,glockenspiel,confection,saxophonists,piaseczno,multilevel,antipater,levying,maltreatment,velho,opoczno,harburg,pedophilia,unfunded,palettes,plasterwork,breve,dharmendra,auchinleck,nonesuch,blackmun,libretti,rabbani,145th,hasselbeck,kinnock,malate,vanden,cloverdale,ashgabat,nares,radians,steelworkers,sabor,possums,catterick,hemispheric,ostra,outpaced,dungeness,almshouse,penryn,texians,1000m,franchitti,incumbency,texcoco,newar,tramcars,toroidal,meitetsu,spellbound,agronomist,vinifera,riata,bunko,pinas,ba'al,github,vasilyevich,obsolescent,geodesics,ancestries,tujue,capitalised,unassigned,throng,unpaired,psychometric,skegness,exothermic,buffered,kristiansund,tongued,berenger,basho,alitalia,prolongation,archaeologically,fractionation,cyprinid,echinoderms,agriculturally,justiciar,sonam,ilium,baits,danceable,grazer,ardahan,grassed,preemption,glassworks,hasina,ugric,umbra,wahhabi,vannes,tinnitus,capitaine,tikrit,lisieux,scree,hormuz,despenser,jagiellon,maisonneuve,gandaki,santarem,basilicas,lancing,landskrona,weilburg,fireside,elysian,isleworth,krishnamurthy,filton,cynon,tecmo,subcostal,scalars,triglycerides,hyperplane,farmingdale,unione,meydan,pilings,mercosur,reactivate,akiba,fecundity,jatra,natsume,zarqawi,preta,masao,presbyter,oakenfold,rhodri,ferran,ruizong,cloyne,nelvana,epiphanius,borde,scutes,strictures,troughton,whitestone,sholom,toyah,shingon,kutuzov,abelard,passant,lipno,cafeterias,residuals,anabaptists,paratransit,criollos,pleven,radiata,destabilizing,hadiths,bazaars,mannose,taiyo,crookes,welbeck,baoding,archelaus,nguesso,alberni,wingtips,herts,viasat,lankans,evreux,wigram,fassbinder,ryuichi,storting,reducible,olesnica,znojmo,hyannis,theophanes,flatiron,mustering,rajahmundry,kadir,wayang,prome,lethargy,zubin,illegality,conall,dramedy,beerbohm,hipparchus,ziarat,ryuji,shugo,glenorchy,microarchitecture,morne,lewinsky,cauvery,battenberg,hyksos,wayanad,hamilcar,buhari,brazo,bratianu,solms,aksaray,elamite,chilcotin,bloodstock,sagara,dolny,reunified,umlaut,proteaceae,camborne,calabrian,dhanbad,vaxjo,cookware,potez,rediffusion,semitones,lamentations,allgau,guernica,suntory,pleated,stationing,urgell,gannets,bertelsmann,entryway,raphitomidae,acetaldehyde,nephrology,categorizing,beiyang,permeate,tourney,geosciences,khana,masayuki,crucis,universitaria,slaskie,khaimah,finno,advani,astonishingly,tubulin,vampiric,jeolla,sociale,cleethorpes,badri,muridae,suzong,debater,decimation,kenyans,mutualism,pontifex,middlemen,insee,halevi,lamentation,psychopathy,brassey,wenders,kavya,parabellum,prolactin,inescapable,apses,malignancies,rinzai,stigmatized,menahem,comox,ateliers,welshpool,setif,centimetre,truthfulness,downfield,drusus,woden,glycosylation,emanated,agulhas,dalkeith,jazira,nucky,unifil,jobim,operon,oryzomys,heroically,seances,supernumerary,backhouse,hashanah,tatler,imago,invert,hayato,clockmaker,kingsmill,swiecie,analogously,golconda,poste,tacitly,decentralised,ge'ez,diplomatically,fossiliferous,linseed,mahavira,pedestals,archpriest,byelection,domiciled,jeffersonian,bombus,winegrowing,waukegan,uncultivated,haverfordwest,saumur,communally,disbursed,cleeve,zeljeznicar,speciosa,vacationers,sigur,vaishali,zlatko,iftikhar,cropland,transkei,incompleteness,bohra,subantarctic,slieve,physiologic,similis,klerk,replanted,'right,chafee,reproducible,bayburt,regicide,muzaffarpur,plurals,hanyu,orthologs,diouf,assailed,kamui,tarik,dodecanese,gorne,on/off,179th,shimoga,granaries,carlists,valar,tripolitania,sherds,simmern,dissociated,isambard,polytechnical,yuvraj,brabazon,antisense,pubmed,glans,minutely,masaaki,raghavendra,savoury,podcasting,tachi,bienville,gongsun,ridgely,deform,yuichi,binders,canna,carcetti,llobregat,implored,berri,njegos,intermingled,offload,athenry,motherhouse,corpora,kakinada,dannebrog,imperio,prefaces,musicologists,aerospatiale,shirai,nagapattinam,servius,cristoforo,pomfret,reviled,entebbe,stane,east/west,thermometers,matriarchal,siglo,bodil,legionnaire,ze'ev,theorizing,sangeetha,horticulturist,uncountable,lookalike,anoxic,ionospheric,genealogists,chicopee,imprinting,popish,crematoria,diamondback,cyathea,hanzhong,cameramen,halogaland,naklo,waclaw,storehouses,flexed,comuni,frits,glauca,nilgiris,compresses,nainital,continuations,albay,hypoxic,samajwadi,dunkerque,nanticoke,sarwar,interchanged,jubal,corba,jalgaon,derleth,deathstroke,magny,vinnytsia,hyphenated,rimfire,sawan,boehner,disrepute,normalize,aromanian,dualistic,approximant,chama,karimabad,barnacles,sanok,stipends,dyfed,rijksmuseum,reverberation,suncorp,fungicides,reverie,spectrograph,stereophonic,niazi,ordos,alcan,karaite,lautrec,tableland,lamellar,rieti,langmuir,russula,webern,tweaks,hawick,southerner,morphy,naturalisation,enantiomer,michinoku,barbettes,relieves,carburettors,redruth,oblates,vocabularies,mogilev,bagmati,galium,reasserted,extolled,symon,eurosceptic,inflections,tirtha,recompense,oruro,roping,gouverneur,pared,yayoi,watermills,retooled,leukocytes,jubilant,mazhar,nicolau,manheim,touraine,bedser,hambledon,kohat,powerhouses,tlemcen,reuven,sympathetically,afrikaners,interes,handcrafts,etcher,baddeley,wodonga,amaury,155th,vulgarity,pompadour,automorphisms,1540s,oppositions,prekmurje,deryni,fortifying,arcuate,mahila,bocage,uther,nozze,slashes,atlantica,hadid,rhizomatous,azeris,'with,osmena,lewisville,innervated,bandmaster,outcropping,parallelogram,dominicana,twang,ingushetia,extensional,ladino,sastry,zinoviev,relatable,nobilis,cbeebies,hitless,eulima,sporangia,synge,longlisted,criminalized,penitential,weyden,tubule,volyn,priestesses,glenbrook,kibbutzim,windshaft,canadair,falange,zsolt,bonheur,meine,archangels,safeguarded,jamaicans,malarial,teasers,badging,merseyrail,operands,pulsars,gauchos,biotin,bambara,necaxa,egmond,tillage,coppi,anxiolytic,preah,mausoleums,plautus,feroz,debunked,187th,belediyespor,mujibur,wantage,carboxyl,chettiar,murnau,vagueness,racemic,backstretch,courtland,municipio,palpatine,dezful,hyperbola,sreekumar,chalons,altay,arapahoe,tudors,sapieha,quilon,burdensome,kanya,xxviii,recension,generis,siphuncle,repressor,bitrate,mandals,midhurst,dioxin,democratique,upholds,rodez,cinematographic,epoque,jinping,rabelais,zhytomyr,glenview,rebooted,khalidi,reticulata,122nd,monnaie,passersby,ghazals,europaea,lippmann,earthbound,tadic,andorran,artvin,angelicum,banksy,epicentre,resemblances,shuttled,rathaus,bernt,stonemasons,balochi,siang,tynemouth,cygni,biosynthetic,precipitates,sharecroppers,d'annunzio,softbank,shiji,apeldoorn,polycyclic,wenceslas,wuchang,samnites,tamarack,silmarillion,madinah,palaeontology,kirchberg,sculpin,rohtak,aquabats,oviparous,thynne,caney,blimps,minimalistic,whatcom,palatalization,bardstown,direct3d,paramagnetic,kamboja,khash,globemaster,lengua,matej,chernigov,swanage,arsenals,cascadia,cundinamarca,tusculum,leavers,organics,warplanes,'three,exertions,arminius,gandharva,inquires,comercio,kuopio,chabahar,plotlines,mersenne,anquetil,paralytic,buckminster,ambit,acrolophus,quantifiers,clacton,ciliary,ansaldo,fergana,egoism,thracians,chicoutimi,northbrook,analgesia,brotherhoods,hunza,adriaen,fluoridation,snowfalls,soundboard,fangoria,cannibalistic,orthogonius,chukotka,dindigul,manzoni,chainz,macromedia,beltline,muruga,schistura,provable,litex,initio,pneumoniae,infosys,cerium,boonton,cannonballs,d'une,solvency,mandurah,houthis,dolmens,apologists,radioisotopes,blaxploitation,poroshenko,stawell,coosa,maximilien,tempelhof,espouse,declaratory,hambro,xalapa,outmoded,mihiel,benefitting,desirous,archeparchy,repopulated,telescoping,captor,mackaye,disparaged,ramanathan,crowne,tumbled,technetium,silted,chedi,nievre,hyeon,cartoonish,interlock,infocom,rediff.com,dioramas,timekeeping,concertina,kutaisi,cesky,lubomirski,unapologetic,epigraphic,stalactites,sneha,biofilm,falconry,miraflores,catena,'outstanding,prospekt,apotheosis,o'odham,pacemakers,arabica,gandhinagar,reminisces,iroquoian,ornette,tilling,neoliberalism,chameleons,pandava,prefontaine,haiyan,gneisenau,utama,bando,reconstitution,azaria,canola,paratroops,ayckbourn,manistee,stourton,manifestos,lympne,denouement,tractatus,rakim,bellflower,nanometer,sassanids,turlough,presbyterianism,varmland,20deg,phool,nyerere,almohad,manipal,vlaanderen,quickness,removals,makow,circumflex,eatery,morane,fondazione,alkylation,unenforceable,galliano,silkworm,junior/senior,abducts,phlox,konskie,lofoten,buuren,glyphosate,faired,naturae,cobbles,taher,skrulls,dostoevsky,walkout,wagnerian,orbited,methodically,denzil,sarat,extraterritorial,kohima,d'armor,brinsley,rostropovich,fengtian,comitatus,aravind,moche,wrangell,giscard,vantaa,viljandi,hakoah,seabees,muscatine,ballade,camanachd,sothern,mullioned,durad,margraves,maven,arete,chandni,garifuna,142nd,reading/literature,thickest,intensifies,trygve,khaldun,perinatal,asana,powerline,acetylation,nureyev,omiya,montesquieu,riverwalk,marly,correlating,intermountain,bulgar,hammerheads,underscores,wiretapping,quatrain,ruisseau,newsagent,tuticorin,polygyny,hemsworth,partisanship,banna,istrian,evaporator".split(","),
16275female_names:"mary,patricia,linda,barbara,elizabeth,jennifer,maria,susan,margaret,dorothy,lisa,nancy,karen,betty,helen,sandra,donna,carol,ruth,sharon,michelle,laura,sarah,kimberly,deborah,jessica,shirley,cynthia,angela,melissa,brenda,amy,anna,rebecca,virginia,kathleen,pamela,martha,debra,amanda,stephanie,carolyn,christine,marie,janet,catherine,frances,ann,joyce,diane,alice,julie,heather,teresa,doris,gloria,evelyn,jean,cheryl,mildred,katherine,joan,ashley,judith,rose,janice,kelly,nicole,judy,christina,kathy,theresa,beverly,denise,tammy,irene,jane,lori,rachel,marilyn,andrea,kathryn,louise,sara,anne,jacqueline,wanda,bonnie,julia,ruby,lois,tina,phyllis,norma,paula,diana,annie,lillian,emily,robin,peggy,crystal,gladys,rita,dawn,connie,florence,tracy,edna,tiffany,carmen,rosa,cindy,grace,wendy,victoria,edith,kim,sherry,sylvia,josephine,thelma,shannon,sheila,ethel,ellen,elaine,marjorie,carrie,charlotte,monica,esther,pauline,emma,juanita,anita,rhonda,hazel,amber,eva,debbie,april,leslie,clara,lucille,jamie,joanne,eleanor,valerie,danielle,megan,alicia,suzanne,michele,gail,bertha,darlene,veronica,jill,erin,geraldine,lauren,cathy,joann,lorraine,lynn,sally,regina,erica,beatrice,dolores,bernice,audrey,yvonne,annette,marion,dana,stacy,ana,renee,ida,vivian,roberta,holly,brittany,melanie,loretta,yolanda,jeanette,laurie,katie,kristen,vanessa,alma,sue,elsie,beth,jeanne,vicki,carla,tara,rosemary,eileen,terri,gertrude,lucy,tonya,ella,stacey,wilma,gina,kristin,jessie,natalie,agnes,vera,charlene,bessie,delores,melinda,pearl,arlene,maureen,colleen,allison,tamara,joy,georgia,constance,lillie,claudia,jackie,marcia,tanya,nellie,minnie,marlene,heidi,glenda,lydia,viola,courtney,marian,stella,caroline,dora,vickie,mattie,maxine,irma,mabel,marsha,myrtle,lena,christy,deanna,patsy,hilda,gwendolyn,jennie,nora,margie,nina,cassandra,leah,penny,kay,priscilla,naomi,carole,olga,billie,dianne,tracey,leona,jenny,felicia,sonia,miriam,velma,becky,bobbie,violet,kristina,toni,misty,mae,shelly,daisy,ramona,sherri,erika,katrina,claire,lindsey,lindsay,geneva,guadalupe,belinda,margarita,sheryl,cora,faye,ada,sabrina,isabel,marguerite,hattie,harriet,molly,cecilia,kristi,brandi,blanche,sandy,rosie,joanna,iris,eunice,angie,inez,lynda,madeline,amelia,alberta,genevieve,monique,jodi,janie,kayla,sonya,jan,kristine,candace,fannie,maryann,opal,alison,yvette,melody,luz,susie,olivia,flora,shelley,kristy,mamie,lula,lola,verna,beulah,antoinette,candice,juana,jeannette,pam,kelli,whitney,bridget,karla,celia,latoya,patty,shelia,gayle,della,vicky,lynne,sheri,marianne,kara,jacquelyn,erma,blanca,myra,leticia,pat,krista,roxanne,angelica,robyn,adrienne,rosalie,alexandra,brooke,bethany,sadie,bernadette,traci,jody,kendra,nichole,rachael,mable,ernestine,muriel,marcella,elena,krystal,angelina,nadine,kari,estelle,dianna,paulette,lora,mona,doreen,rosemarie,desiree,antonia,janis,betsy,christie,freda,meredith,lynette,teri,cristina,eula,leigh,meghan,sophia,eloise,rochelle,gretchen,cecelia,raquel,henrietta,alyssa,jana,gwen,jenna,tricia,laverne,olive,tasha,silvia,elvira,delia,kate,patti,lorena,kellie,sonja,lila,lana,darla,mindy,essie,mandy,lorene,elsa,josefina,jeannie,miranda,dixie,lucia,marta,faith,lela,johanna,shari,camille,tami,shawna,elisa,ebony,melba,ora,nettie,tabitha,ollie,winifred,kristie,alisha,aimee,rena,myrna,marla,tammie,latasha,bonita,patrice,ronda,sherrie,addie,francine,deloris,stacie,adriana,cheri,abigail,celeste,jewel,cara,adele,rebekah,lucinda,dorthy,effie,trina,reba,sallie,aurora,lenora,etta,lottie,kerri,trisha,nikki,estella,francisca,josie,tracie,marissa,karin,brittney,janelle,lourdes,laurel,helene,fern,elva,corinne,kelsey,ina,bettie,elisabeth,aida,caitlin,ingrid,iva,eugenia,christa,goldie,maude,jenifer,therese,dena,lorna,janette,latonya,candy,consuelo,tamika,rosetta,debora,cherie,polly,dina,jewell,fay,jillian,dorothea,nell,trudy,esperanza,patrica,kimberley,shanna,helena,cleo,stefanie,rosario,ola,janine,mollie,lupe,alisa,lou,maribel,susanne,bette,susana,elise,cecile,isabelle,lesley,jocelyn,paige,joni,rachelle,leola,daphne,alta,ester,petra,graciela,imogene,jolene,keisha,lacey,glenna,gabriela,keri,ursula,lizzie,kirsten,shana,adeline,mayra,jayne,jaclyn,gracie,sondra,carmela,marisa,rosalind,charity,tonia,beatriz,marisol,clarice,jeanine,sheena,angeline,frieda,lily,shauna,millie,claudette,cathleen,angelia,gabrielle,autumn,katharine,jodie,staci,lea,christi,justine,elma,luella,margret,dominique,socorro,martina,margo,mavis,callie,bobbi,maritza,lucile,leanne,jeannine,deana,aileen,lorie,ladonna,willa,manuela,gale,selma,dolly,sybil,abby,ivy,dee,winnie,marcy,luisa,jeri,magdalena,ofelia,meagan,audra,matilda,leila,cornelia,bianca,simone,bettye,randi,virgie,latisha,barbra,georgina,eliza,leann,bridgette,rhoda,haley,adela,nola,bernadine,flossie,ila,greta,ruthie,nelda,minerva,lilly,terrie,letha,hilary,estela,valarie,brianna,rosalyn,earline,catalina,ava,mia,clarissa,lidia,corrine,alexandria,concepcion,tia,sharron,rae,dona,ericka,jami,elnora,chandra,lenore,neva,marylou,melisa,tabatha,serena,avis,allie,sofia,jeanie,odessa,nannie,harriett,loraine,penelope,milagros,emilia,benita,allyson,ashlee,tania,esmeralda,eve,pearlie,zelma,malinda,noreen,tameka,saundra,hillary,amie,althea,rosalinda,lilia,alana,clare,alejandra,elinor,lorrie,jerri,darcy,earnestine,carmella,noemi,marcie,liza,annabelle,louisa,earlene,mallory,carlene,nita,selena,tanisha,katy,julianne,lakisha,edwina,maricela,margery,kenya,dollie,roxie,roslyn,kathrine,nanette,charmaine,lavonne,ilene,tammi,suzette,corine,kaye,chrystal,lina,deanne,lilian,juliana,aline,luann,kasey,maryanne,evangeline,colette,melva,lawanda,yesenia,nadia,madge,kathie,ophelia,valeria,nona,mitzi,mari,georgette,claudine,fran,alissa,roseann,lakeisha,susanna,reva,deidre,chasity,sheree,elvia,alyce,deirdre,gena,briana,araceli,katelyn,rosanne,wendi,tessa,berta,marva,imelda,marietta,marci,leonor,arline,sasha,madelyn,janna,juliette,deena,aurelia,josefa,augusta,liliana,lessie,amalia,savannah,anastasia,vilma,natalia,rosella,lynnette,corina,alfreda,leanna,amparo,coleen,tamra,aisha,wilda,karyn,maura,mai,evangelina,rosanna,hallie,erna,enid,mariana,lacy,juliet,jacklyn,freida,madeleine,mara,cathryn,lelia,casandra,bridgett,angelita,jannie,dionne,annmarie,katina,beryl,millicent,katheryn,diann,carissa,maryellen,liz,lauri,helga,gilda,rhea,marquita,hollie,tisha,tamera,angelique,francesca,kaitlin,lolita,florine,rowena,reyna,twila,fanny,janell,ines,concetta,bertie,alba,brigitte,alyson,vonda,pansy,elba,noelle,letitia,deann,brandie,louella,leta,felecia,sharlene,lesa,beverley,isabella,herminia,terra,celina,tori,octavia,jade,denice,germaine,michell,cortney,nelly,doretha,deidra,monika,lashonda,judi,chelsey,antionette,margot,adelaide,leeann,elisha,dessie,libby,kathi,gayla,latanya,mina,mellisa,kimberlee,jasmin,renae,zelda,elda,justina,gussie,emilie,camilla,abbie,rocio,kaitlyn,edythe,ashleigh,selina,lakesha,geri,allene,pamala,michaela,dayna,caryn,rosalia,jacquline,rebeca,marybeth,krystle,iola,dottie,belle,griselda,ernestina,elida,adrianne,demetria,delma,jaqueline,arleen,virgina,retha,fatima,tillie,eleanore,cari,treva,wilhelmina,rosalee,maurine,latrice,jena,taryn,elia,debby,maudie,jeanna,delilah,catrina,shonda,hortencia,theodora,teresita,robbin,danette,delphine,brianne,nilda,danna,cindi,bess,iona,winona,vida,rosita,marianna,racheal,guillermina,eloisa,celestine,caren,malissa,lona,chantel,shellie,marisela,leora,agatha,soledad,migdalia,ivette,christen,athena,janel,veda,pattie,tessie,tera,marilynn,lucretia,karrie,dinah,daniela,alecia,adelina,vernice,shiela,portia,merry,lashawn,dara,tawana,verda,alene,zella,sandi,rafaela,maya,kira,candida,alvina,suzan,shayla,lettie,samatha,oralia,matilde,larissa,vesta,renita,delois,shanda,phillis,lorri,erlinda,cathrine,barb,isabell,ione,gisela,roxanna,mayme,kisha,ellie,mellissa,dorris,dalia,bella,annetta,zoila,reta,reina,lauretta,kylie,christal,pilar,charla,elissa,tiffani,tana,paulina,leota,breanna,jayme,carmel,vernell,tomasa,mandi,dominga,santa,melodie,lura,alexa,tamela,mirna,kerrie,venus,felicita,cristy,carmelita,berniece,annemarie,tiara,roseanne,missy,cori,roxana,pricilla,kristal,jung,elyse,haydee,aletha,bettina,marge,gillian,filomena,zenaida,harriette,caridad,vada,aretha,pearline,marjory,marcela,flor,evette,elouise,alina,damaris,catharine,belva,nakia,marlena,luanne,lorine,karon,dorene,danita,brenna,tatiana,louann,julianna,andria,philomena,lucila,leonora,dovie,romona,mimi,jacquelin,gaye,tonja,misti,chastity,stacia,roxann,micaela,velda,marlys,johnna,aura,ivonne,hayley,nicki,majorie,herlinda,yadira,perla,gregoria,antonette,shelli,mozelle,mariah,joelle,cordelia,josette,chiquita,trista,laquita,georgiana,candi,shanon,hildegard,stephany,magda,karol,gabriella,tiana,roma,richelle,oleta,jacque,idella,alaina,suzanna,jovita,tosha,nereida,marlyn,kyla,delfina,tena,stephenie,sabina,nathalie,marcelle,gertie,darleen,thea,sharonda,shantel,belen,venessa,rosalina,genoveva,clementine,rosalba,renate,renata,georgianna,floy,dorcas,ariana,tyra,theda,mariam,juli,jesica,vikki,verla,roselyn,melvina,jannette,ginny,debrah,corrie,violeta,myrtis,latricia,collette,charleen,anissa,viviana,twyla,nedra,latonia,hellen,fabiola,annamarie,adell,sharyn,chantal,niki,maud,lizette,lindy,kesha,jeana,danelle,charline,chanel,valorie,dortha,cristal,sunny,leone,leilani,gerri,debi,andra,keshia,eulalia,easter,dulce,natividad,linnie,kami,georgie,catina,brook,alda,winnifred,sharla,ruthann,meaghan,magdalene,lissette,adelaida,venita,trena,shirlene,shameka,elizebeth,dian,shanta,latosha,carlotta,windy,rosina,mariann,leisa,jonnie,dawna,cathie,astrid,laureen,janeen,holli,fawn,vickey,teressa,shante,rubye,marcelina,chanda,terese,scarlett,marnie,lulu,lisette,jeniffer,elenor,dorinda,donita,carman,bernita,altagracia,aleta,adrianna,zoraida,lyndsey,janina,starla,phylis,phuong,kyra,charisse,blanch,sanjuanita,rona,nanci,marilee,maranda,brigette,sanjuana,marita,kassandra,joycelyn,felipa,chelsie,bonny,mireya,lorenza,kyong,ileana,candelaria,sherie,lucie,leatrice,lakeshia,gerda,edie,bambi,marylin,lavon,hortense,garnet,evie,tressa,shayna,lavina,kyung,jeanetta,sherrill,shara,phyliss,mittie,anabel,alesia,thuy,tawanda,joanie,tiffanie,lashanda,karissa,enriqueta,daria,daniella,corinna,alanna,abbey,roxane,roseanna,magnolia,lida,joellen,coral,carleen,tresa,peggie,novella,nila,maybelle,jenelle,carina,nova,melina,marquerite,margarette,josephina,evonne,cinthia,albina,toya,tawnya,sherita,myriam,lizabeth,lise,keely,jenni,giselle,cheryle,ardith,ardis,alesha,adriane,shaina,linnea,karolyn,felisha,dori,darci,artie,armida,zola,xiomara,vergie,shamika,nena,nannette,maxie,lovie,jeane,jaimie,inge,farrah,elaina,caitlyn,felicitas,cherly,caryl,yolonda,yasmin,teena,prudence,pennie,nydia,mackenzie,orpha,marvel,lizbeth,laurette,jerrie,hermelinda,carolee,tierra,mirian,meta,melony,kori,jennette,jamila,yoshiko,susannah,salina,rhiannon,joleen,cristine,ashton,aracely,tomeka,shalonda,marti,lacie,kala,jada,ilse,hailey,brittani,zona,syble,sherryl,nidia,marlo,kandice,kandi,alycia,ronna,norene,mercy,ingeborg,giovanna,gemma,christel,audry,zora,vita,trish,stephaine,shirlee,shanika,melonie,mazie,jazmin,inga,hettie,geralyn,fonda,estrella,adella,sarita,rina,milissa,maribeth,golda,evon,ethelyn,enedina,cherise,chana,velva,tawanna,sade,mirta,karie,jacinta,elna,davina,cierra,ashlie,albertha,tanesha,nelle,mindi,lorinda,larue,florene,demetra,dedra,ciara,chantelle,ashly,suzy,rosalva,noelia,lyda,leatha,krystyna,kristan,karri,darline,darcie,cinda,cherrie,awilda,almeda,rolanda,lanette,jerilyn,gisele,evalyn,cyndi,cleta,carin,zina,zena,velia,tanika,charissa,talia,margarete,lavonda,kaylee,kathlene,jonna,irena,ilona,idalia,candis,candance,brandee,anitra,alida,sigrid,nicolette,maryjo,linette,hedwig,christiana,alexia,tressie,modesta,lupita,lita,gladis,evelia,davida,cherri,cecily,ashely,annabel,agustina,wanita,shirly,rosaura,hulda,yetta,verona,thomasina,sibyl,shannan,mechelle,leandra,lani,kylee,kandy,jolynn,ferne,eboni,corene,alysia,zula,nada,moira,lyndsay,lorretta,jammie,hortensia,gaynell,adria,vina,vicenta,tangela,stephine,norine,nella,liana,leslee,kimberely,iliana,glory,felica,emogene,elfriede,eden,eartha,carma,ocie,lennie,kiara,jacalyn,carlota,arielle,otilia,kirstin,kacey,johnetta,joetta,jeraldine,jaunita,elana,dorthea,cami,amada,adelia,vernita,tamar,siobhan,renea,rashida,ouida,nilsa,meryl,kristyn,julieta,danica,breanne,aurea,anglea,sherron,odette,malia,lorelei,leesa,kenna,kathlyn,fiona,charlette,suzie,shantell,sabra,racquel,myong,mira,martine,lucienne,lavada,juliann,elvera,delphia,christiane,charolette,carri,asha,angella,paola,ninfa,leda,stefani,shanell,palma,machelle,lissa,kecia,kathryne,karlene,julissa,jettie,jenniffer,corrina,carolann,alena,rosaria,myrtice,marylee,liane,kenyatta,judie,janey,elmira,eldora,denna,cristi,cathi,zaida,vonnie,viva,vernie,rosaline,mariela,luciana,lesli,karan,felice,deneen,adina,wynona,tarsha,sheron,shanita,shani,shandra,randa,pinkie,nelida,marilou,lyla,laurene,laci,janene,dorotha,daniele,dani,carolynn,carlyn,berenice,ayesha,anneliese,alethea,thersa,tamiko,rufina,oliva,mozell,marylyn,kristian,kathyrn,kasandra,kandace,janae,domenica,debbra,dannielle,chun,arcelia,zenobia,sharen,sharee,lavinia,kacie,jackeline,huong,felisa,emelia,eleanora,cythia,cristin,claribel,anastacia,zulma,zandra,yoko,tenisha,susann,sherilyn,shay,shawanda,romana,mathilda,linsey,keiko,joana,isela,gretta,georgetta,eugenie,desirae,delora,corazon,antonina,anika,willene,tracee,tamatha,nichelle,mickie,maegan,luana,lanita,kelsie,edelmira,bree,afton,teodora,tamie,shena,linh,keli,kaci,danyelle,arlette,albertine,adelle,tiffiny,simona,nicolasa,nichol,nakisha,maira,loreen,kizzy,fallon,christene,bobbye,ying,vincenza,tanja,rubie,roni,queenie,margarett,kimberli,irmgard,idell,hilma,evelina,esta,emilee,dennise,dania,carie,risa,rikki,particia,masako,luvenia,loree,loni,lien,gigi,florencia,denita,billye,tomika,sharita,rana,nikole,neoma,margarite,madalyn,lucina,laila,kali,jenette,gabriele,evelyne,elenora,clementina,alejandrina,zulema,violette,vannessa,thresa,retta,patience,noella,nickie,jonell,chaya,camelia,bethel,anya,suzann,mila,lilla,laverna,keesha,kattie,georgene,eveline,estell,elizbeth,vivienne,vallie,trudie,stephane,magaly,madie,kenyetta,karren,janetta,hermine,drucilla,debbi,celestina,candie,britni,beckie,amina,zita,yolande,vivien,vernetta,trudi,pearle,patrina,ossie,nicolle,loyce,letty,katharina,joselyn,jonelle,jenell,iesha,heide,florinda,florentina,elodia,dorine,brunilda,brigid,ashli,ardella,twana,tarah,shavon,serina,rayna,ramonita,margurite,lucrecia,kourtney,kati,jesenia,crista,ayana,alica,alia,vinnie,suellen,romelia,rachell,olympia,michiko,kathaleen,jolie,jessi,janessa,hana,elease,carletta,britany,shona,salome,rosamond,regena,raina,ngoc,nelia,louvenia,lesia,latrina,laticia,larhonda,jina,jacki,emmy,deeann,coretta,arnetta,thalia,shanice,neta,mikki,micki,lonna,leana,lashunda,kiley,joye,jacqulyn,ignacia,hyun,hiroko,henriette,elayne,delinda,dahlia,coreen,consuela,conchita,babette,ayanna,anette,albertina,shawnee,shaneka,quiana,pamelia,merri,merlene,margit,kiesha,kiera,kaylene,jodee,jenise,erlene,emmie,dalila,daisey,casie,belia,babara,versie,vanesa,shelba,shawnda,nikia,naoma,marna,margeret,madaline,lawana,kindra,jutta,jazmine,janett,hannelore,glendora,gertrud,garnett,freeda,frederica,florance,flavia,carline,beverlee,anjanette,valda,tamala,shonna,sarina,oneida,merilyn,marleen,lurline,lenna,katherin,jeni,gracia,glady,farah,enola,dominque,devona,delana,cecila,caprice,alysha,alethia,vena,theresia,tawny,shakira,samara,sachiko,rachele,pamella,marni,mariel,maren,malisa,ligia,lera,latoria,larae,kimber,kathern,karey,jennefer,janeth,halina,fredia,delisa,debroah,ciera,angelika,andree,altha,vivan,terresa,tanna,sudie,signe,salena,ronni,rebbecca,myrtie,malika,maida,leonarda,kayleigh,ethyl,ellyn,dayle,cammie,brittni,birgit,avelina,asuncion,arianna,akiko,venice,tyesha,tonie,tiesha,takisha,steffanie,sindy,meghann,manda,macie,kellye,kellee,joslyn,inger,indira,glinda,glennis,fernanda,faustina,eneida,elicia,digna,dell,arletta,willia,tammara,tabetha,sherrell,sari,rebbeca,pauletta,natosha,nakita,mammie,kenisha,kazuko,kassie,earlean,daphine,corliss,clotilde,carolyne,bernetta,augustina,audrea,annis,annabell,tennille,tamica,selene,rosana,regenia,qiana,markita,macy,leeanne,laurine,jessenia,janita,georgine,genie,emiko,elvie,deandra,dagmar,corie,collen,cherish,romaine,porsha,pearlene,micheline,merna,margorie,margaretta,lore,jenine,hermina,fredericka,elke,drusilla,dorathy,dione,celena,brigida,allegra,tamekia,synthia,sook,slyvia,rosann,reatha,raye,marquetta,margart,ling,layla,kymberly,kiana,kayleen,katlyn,karmen,joella,emelda,eleni,detra,clemmie,cheryll,chantell,cathey,arnita,arla,angle,angelic,alyse,zofia,thomasine,tennie,sherly,sherley,sharyl,remedios,petrina,nickole,myung,myrle,mozella,louanne,lisha,latia,krysta,julienne,jeanene,jacqualine,isaura,gwenda,earleen,cleopatra,carlie,audie,antonietta,alise,verdell,tomoko,thao,talisha,shemika,savanna,santina,rosia,raeann,odilia,nana,minna,magan,lynelle,karma,joeann,ivana,inell,ilana,gudrun,dreama,crissy,chante,carmelina,arvilla,annamae,alvera,aleida,yanira,vanda,tianna,stefania,shira,nicol,nancie,monserrate,melynda,melany,lovella,laure,kacy,jacquelynn,hyon,gertha,eliana,christena,christeen,charise,caterina,carley,candyce,arlena,ammie,willette,vanita,tuyet,syreeta,penney,nyla,maryam,marya,magen,ludie,loma,livia,lanell,kimberlie,julee,donetta,diedra,denisha,deane,dawne,clarine,cherryl,bronwyn,alla,valery,tonda,sueann,soraya,shoshana,shela,sharleen,shanelle,nerissa,meridith,mellie,maye,maple,magaret,lili,leonila,leonie,leeanna,lavonia,lavera,kristel,kathey,kathe,jann,ilda,hildred,hildegarde,genia,fumiko,evelin,ermelinda,elly,dung,doloris,dionna,danae,berneice,annice,alix,verena,verdie,shawnna,shawana,shaunna,rozella,randee,ranae,milagro,lynell,luise,loida,lisbeth,karleen,junita,jona,isis,hyacinth,hedy,gwenn,ethelene,erline,donya,domonique,delicia,dannette,cicely,branda,blythe,bethann,ashlyn,annalee,alline,yuko,vella,trang,towanda,tesha,sherlyn,narcisa,miguelina,meri,maybell,marlana,marguerita,madlyn,lory,loriann,leonore,leighann,laurice,latesha,laronda,katrice,kasie,kaley,jadwiga,glennie,gearldine,francina,epifania,dyan,dorie,diedre,denese,demetrice,delena,cristie,cleora,catarina,carisa,barbera,almeta,trula,tereasa,solange,sheilah,shavonne,sanora,rochell,mathilde,margareta,maia,lynsey,lawanna,launa,kena,keena,katia,glynda,gaylene,elvina,elanor,danuta,danika,cristen,cordie,coletta,clarita,carmon,brynn,azucena,aundrea,angele,verlie,verlene,tamesha,silvana,sebrina,samira,reda,raylene,penni,norah,noma,mireille,melissia,maryalice,laraine,kimbery,karyl,karine,jolanda,johana,jesusa,jaleesa,jacquelyne,iluminada,hilaria,hanh,gennie,francie,floretta,exie,edda,drema,delpha,barbar,assunta,ardell,annalisa,alisia,yukiko,yolando,wonda,waltraud,veta,temeka,tameika,shirleen,shenita,piedad,ozella,mirtha,marilu,kimiko,juliane,jenice,janay,jacquiline,hilde,elois,echo,devorah,chau,brinda,betsey,arminda,aracelis,apryl,annett,alishia,veola,usha,toshiko,theola,tashia,talitha,shery,renetta,reiko,rasheeda,obdulia,mika,melaine,meggan,marlen,marget,marceline,mana,magdalen,librada,lezlie,latashia,lasandra,kelle,isidra,inocencia,gwyn,francoise,erminia,erinn,dimple,devora,criselda,armanda,arie,ariane,angelena,aliza,adriene,adaline,xochitl,twanna,tomiko,tamisha,taisha,susy,rutha,rhona,noriko,natashia,merrie,marinda,mariko,margert,loris,lizzette,leisha,kaila,joannie,jerrica,jene,jannet,janee,jacinda,herta,elenore,doretta,delaine,daniell,claudie,britta,apolonia,amberly,alease,yuri,waneta,tomi,sharri,sandie,roselle,reynalda,raguel,phylicia,patria,olimpia,odelia,mitzie,minda,mignon,mica,mendy,marivel,maile,lynetta,lavette,lauryn,latrisha,lakiesha,kiersten,kary,josphine,jolyn,jetta,janise,jacquie,ivelisse,glynis,gianna,gaynelle,danyell,danille,dacia,coralee,cher,ceola,arianne,aleshia,yung,williemae,trinh,thora,sherika,shemeka,shaunda,roseline,ricki,melda,mallie,lavonna,latina,laquanda,lala,lachelle,klara,kandis,johna,jeanmarie,jaye,grayce,gertude,emerita,ebonie,clorinda,ching,chery,carola,breann,blossom,bernardine,becki,arletha,argelia,alita,yulanda,yessenia,tobi,tasia,sylvie,shirl,shirely,shella,shantelle,sacha,rebecka,providencia,paulene,misha,miki,marline,marica,lorita,latoyia,lasonya,kerstin,kenda,keitha,kathrin,jaymie,gricelda,ginette,eryn,elina,elfrieda,danyel,cheree,chanelle,barrie,aurore,annamaria,alleen,ailene,aide,yasmine,vashti,treasa,tiffaney,sheryll,sharie,shanae,raisa,neda,mitsuko,mirella,milda,maryanna,maragret,mabelle,luetta,lorina,letisha,latarsha,lanelle,lajuana,krissy,karly,karena,jessika,jerica,jeanelle,jalisa,jacelyn,izola,euna,etha,domitila,dominica,daina,creola,carli,camie,brittny,ashanti,anisha,aleen,adah,yasuko,valrie,tona,tinisha,terisa,taneka,simonne,shalanda,serita,ressie,refugia,olene,margherita,mandie,maire,lyndia,luci,lorriane,loreta,leonia,lavona,lashawnda,lakia,kyoko,krystina,krysten,kenia,kelsi,jeanice,isobel,georgiann,genny,felicidad,eilene,deloise,deedee,conception,clora,cherilyn,calandra,armandina,anisa,tiera,theressa,stephania,sima,shyla,shonta,shera,shaquita,shala,rossana,nohemi,nery,moriah,melita,melida,melani,marylynn,marisha,mariette,malorie,madelene,ludivina,loria,lorette,loralee,lianne,lavenia,laurinda,lashon,kimi,keila,katelynn,jone,joane,jayna,janella,hertha,francene,elinore,despina,delsie,deedra,clemencia,carolin,bulah,brittanie,blondell,bibi,beaulah,beata,annita,agripina,virgen,valene,twanda,tommye,tarra,tari,tammera,shakia,sadye,ruthanne,rochel,rivka,pura,nenita,natisha,ming,merrilee,melodee,marvis,lucilla,leena,laveta,larita,lanie,keren,ileen,georgeann,genna,frida,eufemia,emely,edyth,deonna,deadra,darlena,chanell,cathern,cassondra,cassaundra,bernarda,berna,arlinda,anamaria,vertie,valeri,torri,stasia,sherise,sherill,sanda,ruthe,rosy,robbi,ranee,quyen,pearly,palmira,onita,nisha,niesha,nida,merlyn,mayola,marylouise,marth,margene,madelaine,londa,leontine,leoma,leia,lauralee,lanora,lakita,kiyoko,keturah,katelin,kareen,jonie,johnette,jenee,jeanett,izetta,hiedi,heike,hassie,giuseppina,georgann,fidela,fernande,elwanda,ellamae,eliz,dusti,dotty,cyndy,coralie,celesta,alverta,xenia,wava,vanetta,torrie,tashina,tandy,tambra,tama,stepanie,shila,shaunta,sharan,shaniqua,shae,setsuko,serafina,sandee,rosamaria,priscila,olinda,nadene,muoi,michelina,mercedez,maryrose,marcene,magali,mafalda,lannie,kayce,karoline,kamilah,kamala,justa,joline,jennine,jacquetta,iraida,georgeanna,franchesca,emeline,elane,ehtel,earlie,dulcie,dalene,classie,chere,charis,caroyln,carmina,carita,bethanie,ayako,arica,alysa,alessandra,akilah,adrien,zetta,youlanda,yelena,yahaira,xuan,wendolyn,tijuana,terina,teresia,suzi,sherell,shavonda,shaunte,sharda,shakita,sena,ryann,rubi,riva,reginia,rachal,parthenia,pamula,monnie,monet,michaele,melia,malka,maisha,lisandra,lekisha,lean,lakendra,krystin,kortney,kizzie,kittie,kera,kendal,kemberly,kanisha,julene,jule,johanne,jamee,halley,gidget,fredricka,fleta,fatimah,eusebia,elza,eleonore,dorthey,doria,donella,dinorah,delorse,claretha,christinia,charlyn,bong,belkis,azzie,andera,aiko,adena,yajaira,vania,ulrike,toshia,tifany,stefany,shizue,shenika,shawanna,sharolyn,sharilyn,shaquana,shantay,rozanne,roselee,remona,reanna,raelene,phung,petronila,natacha,nancey,myrl,miyoko,miesha,merideth,marvella,marquitta,marhta,marchelle,lizeth,libbie,lahoma,ladawn,kina,katheleen,katharyn,karisa,kaleigh,junie,julieann,johnsie,janean,jaimee,jackqueline,hisako,herma,helaine,gwyneth,gita,eustolia,emelina,elin,edris,donnette,donnetta,dierdre,denae,darcel,clarisa,cinderella,chia,charlesetta,charita,celsa,cassy,cassi,carlee,bruna,brittaney,brande,billi,antonetta,angla,angelyn,analisa,alane,wenona,wendie,veronique,vannesa,tobie,tempie,sumiko,sulema,somer,sheba,sharice,shanel,shalon,rosio,roselia,renay,rema,reena,ozie,oretha,oralee,ngan,nakesha,milly,marybelle,margrett,maragaret,manie,lurlene,lillia,lieselotte,lavelle,lashaunda,lakeesha,kaycee,kalyn,joya,joette,jenae,janiece,illa,grisel,glayds,genevie,gala,fredda,eleonor,debera,deandrea,corrinne,cordia,contessa,colene,cleotilde,chantay,cecille,beatris,azalee,arlean,ardath,anjelica,anja,alfredia,aleisha,zada,yuonne,xiao,willodean,vennie,vanna,tyisha,tova,torie,tonisha,tilda,tien,sirena,sherril,shanti,shan,senaida,samella,robbyn,renda,reita,phebe,paulita,nobuko,nguyet,neomi,mikaela,melania,maximina,marg,maisie,lynna,lilli,lashaun,lakenya,lael,kirstie,kathline,kasha,karlyn,karima,jovan,josefine,jennell,jacqui,jackelyn,hien,grazyna,florrie,floria,eleonora,dwana,dorla,delmy,deja,dede,dann,crysta,clelia,claris,chieko,cherlyn,cherelle,charmain,chara,cammy,arnette,ardelle,annika,amiee,amee,allena,yvone,yuki,yoshie,yevette,yael,willetta,voncile,venetta,tula,tonette,timika,temika,telma,teisha,taren,stacee,shawnta,saturnina,ricarda,pasty,onie,nubia,marielle,mariella,marianela,mardell,luanna,loise,lisabeth,lindsy,lilliana,lilliam,lelah,leigha,leanora,kristeen,khalilah,keeley,kandra,junko,joaquina,jerlene,jani,jamika,hsiu,hermila,genevive,evia,eugena,emmaline,elfreda,elene,donette,delcie,deeanna,darcey,clarinda,cira,chae,celinda,catheryn,casimira,carmelia,camellia,breana,bobette,bernardina,bebe,basilia,arlyne,amal,alayna,zonia,zenia,yuriko,yaeko,wynell,willena,vernia,tora,terrilyn,terica,tenesha,tawna,tajuana,taina,stephnie,sona,sina,shondra,shizuko,sherlene,sherice,sharika,rossie,rosena,rima,rheba,renna,natalya,nancee,melodi,meda,matha,marketta,maricruz,marcelene,malvina,luba,louetta,leida,lecia,lauran,lashawna,laine,khadijah,katerine,kasi,kallie,julietta,jesusita,jestine,jessia,jeffie,janyce,isadora,georgianne,fidelia,evita,eura,eulah,estefana,elsy,eladia,dodie,denisse,deloras,delila,daysi,crystle,concha,claretta,charlsie,charlena,carylon,bettyann,asley,ashlea,amira,agueda,agnus,yuette,vinita,victorina,tynisha,treena,toccara,tish,thomasena,tegan,soila,shenna,sharmaine,shantae,shandi,saran,sarai,sana,rosette,rolande,regine,otelia,olevia,nicholle,necole,naida,myrta,myesha,mitsue,minta,mertie,margy,mahalia,madalene,loura,lorean,lesha,leonida,lenita,lavone,lashell,lashandra,lamonica,kimbra,katherina,karry,kanesha,jong,jeneva,jaquelyn,gilma,ghislaine,gertrudis,fransisca,fermina,ettie,etsuko,ellan,elidia,edra,dorethea,doreatha,denyse,deetta,daine,cyrstal,corrin,cayla,carlita,camila,burma,bula,buena,barabara,avril,alaine,zana,wilhemina,wanetta,verline,vasiliki,tonita,tisa,teofila,tayna,taunya,tandra,takako,sunni,suanne,sixta,sharell,seema,rosenda,robena,raymonde,pamila,ozell,neida,mistie,micha,merissa,maurita,maryln,maryetta,marcell,malena,makeda,lovetta,lourie,lorrine,lorilee,laurena,lashay,larraine,laree,lacresha,kristle,keva,keira,karole,joie,jinny,jeannetta,jama,heidy,gilberte,gema,faviola,evelynn,enda,elli,ellena,divina,dagny,collene,codi,cindie,chassidy,chasidy,catrice,catherina,cassey,caroll,carlena,candra,calista,bryanna,britteny,beula,bari,audrie,audria,ardelia,annelle,angila,alona,allyn".split(","),surnames:"smith,johnson,williams,jones,brown,davis,miller,wilson,moore,taylor,anderson,jackson,white,harris,martin,thompson,garcia,martinez,robinson,clark,rodriguez,lewis,lee,walker,hall,allen,young,hernandez,king,wright,lopez,hill,green,adams,baker,gonzalez,nelson,carter,mitchell,perez,roberts,turner,phillips,campbell,parker,evans,edwards,collins,stewart,sanchez,morris,rogers,reed,cook,morgan,bell,murphy,bailey,rivera,cooper,richardson,cox,howard,ward,torres,peterson,gray,ramirez,watson,brooks,sanders,price,bennett,wood,barnes,ross,henderson,coleman,jenkins,perry,powell,long,patterson,hughes,flores,washington,butler,simmons,foster,gonzales,bryant,alexander,griffin,diaz,hayes,myers,ford,hamilton,graham,sullivan,wallace,woods,cole,west,owens,reynolds,fisher,ellis,harrison,gibson,mcdonald,cruz,marshall,ortiz,gomez,murray,freeman,wells,webb,simpson,stevens,tucker,porter,hicks,crawford,boyd,mason,morales,kennedy,warren,dixon,ramos,reyes,burns,gordon,shaw,holmes,rice,robertson,hunt,black,daniels,palmer,mills,nichols,grant,knight,ferguson,stone,hawkins,dunn,perkins,hudson,spencer,gardner,stephens,payne,pierce,berry,matthews,arnold,wagner,willis,watkins,olson,carroll,duncan,snyder,hart,cunningham,lane,andrews,ruiz,harper,fox,riley,armstrong,carpenter,weaver,greene,elliott,chavez,sims,peters,kelley,franklin,lawson,fields,gutierrez,schmidt,carr,vasquez,castillo,wheeler,chapman,montgomery,richards,williamson,johnston,banks,meyer,bishop,mccoy,howell,alvarez,morrison,hansen,fernandez,garza,harvey,burton,nguyen,jacobs,reid,fuller,lynch,garrett,romero,welch,larson,frazier,burke,hanson,mendoza,moreno,bowman,medina,fowler,brewer,hoffman,carlson,silva,pearson,holland,fleming,jensen,vargas,byrd,davidson,hopkins,herrera,wade,soto,walters,neal,caldwell,lowe,jennings,barnett,graves,jimenez,horton,shelton,barrett,obrien,castro,sutton,mckinney,lucas,miles,rodriquez,chambers,holt,lambert,fletcher,watts,bates,hale,rhodes,pena,beck,newman,haynes,mcdaniel,mendez,bush,vaughn,parks,dawson,santiago,norris,hardy,steele,curry,powers,schultz,barker,guzman,page,munoz,ball,keller,chandler,weber,walsh,lyons,ramsey,wolfe,schneider,mullins,benson,sharp,bowen,barber,cummings,hines,baldwin,griffith,valdez,hubbard,salazar,reeves,warner,stevenson,burgess,santos,tate,cross,garner,mann,mack,moss,thornton,mcgee,farmer,delgado,aguilar,vega,glover,manning,cohen,harmon,rodgers,robbins,newton,blair,higgins,ingram,reese,cannon,strickland,townsend,potter,goodwin,walton,rowe,hampton,ortega,patton,swanson,goodman,maldonado,yates,becker,erickson,hodges,rios,conner,adkins,webster,malone,hammond,flowers,cobb,moody,quinn,pope,osborne,mccarthy,guerrero,estrada,sandoval,gibbs,gross,fitzgerald,stokes,doyle,saunders,wise,colon,gill,alvarado,greer,padilla,waters,nunez,ballard,schwartz,mcbride,houston,christensen,klein,pratt,briggs,parsons,mclaughlin,zimmerman,buchanan,moran,copeland,pittman,brady,mccormick,holloway,brock,poole,logan,bass,marsh,drake,wong,jefferson,morton,abbott,sparks,norton,huff,massey,figueroa,carson,bowers,roberson,barton,tran,lamb,harrington,boone,cortez,clarke,mathis,singleton,wilkins,cain,underwood,hogan,mckenzie,collier,luna,phelps,mcguire,bridges,wilkerson,nash,summers,atkins,wilcox,pitts,conley,marquez,burnett,cochran,chase,davenport,hood,gates,ayala,sawyer,vazquez,dickerson,hodge,acosta,flynn,espinoza,nicholson,monroe,wolf,morrow,whitaker,oconnor,skinner,ware,molina,kirby,huffman,gilmore,dominguez,oneal,lang,combs,kramer,hancock,gallagher,gaines,shaffer,wiggins,mathews,mcclain,fischer,wall,melton,hensley,bond,dyer,grimes,contreras,wyatt,baxter,snow,mosley,shepherd,larsen,hoover,beasley,petersen,whitehead,meyers,garrison,shields,horn,savage,olsen,schroeder,hartman,woodard,mueller,kemp,deleon,booth,patel,calhoun,wiley,eaton,cline,navarro,harrell,humphrey,parrish,duran,hutchinson,hess,dorsey,bullock,robles,beard,dalton,avila,rich,blackwell,johns,blankenship,trevino,salinas,campos,pruitt,callahan,montoya,hardin,guerra,mcdowell,stafford,gallegos,henson,wilkinson,booker,merritt,atkinson,orr,decker,hobbs,tanner,knox,pacheco,stephenson,glass,rojas,serrano,marks,hickman,sweeney,strong,mcclure,conway,roth,maynard,farrell,lowery,hurst,nixon,weiss,trujillo,ellison,sloan,juarez,winters,mclean,boyer,villarreal,mccall,gentry,carrillo,ayers,lara,sexton,pace,hull,leblanc,browning,velasquez,leach,chang,sellers,herring,noble,foley,bartlett,mercado,landry,durham,walls,barr,mckee,bauer,rivers,bradshaw,pugh,velez,rush,estes,dodson,morse,sheppard,weeks,camacho,bean,barron,livingston,middleton,spears,branch,blevins,chen,kerr,mcconnell,hatfield,harding,solis,frost,giles,blackburn,pennington,woodward,finley,mcintosh,koch,mccullough,blanchard,rivas,brennan,mejia,kane,benton,buckley,valentine,maddox,russo,mcknight,buck,moon,mcmillan,crosby,berg,dotson,mays,roach,chan,richmond,meadows,faulkner,oneill,knapp,kline,ochoa,jacobson,gay,hendricks,horne,shepard,hebert,cardenas,mcintyre,waller,holman,donaldson,cantu,morin,gillespie,fuentes,tillman,bentley,peck,key,salas,rollins,gamble,dickson,santana,cabrera,cervantes,howe,hinton,hurley,spence,zamora,yang,mcneil,suarez,petty,gould,mcfarland,sampson,carver,bray,macdonald,stout,hester,melendez,dillon,farley,hopper,galloway,potts,joyner,stein,aguirre,osborn,mercer,bender,franco,rowland,sykes,pickett,sears,mayo,dunlap,hayden,wilder,mckay,coffey,mccarty,ewing,cooley,vaughan,bonner,cotton,holder,stark,ferrell,cantrell,fulton,lott,calderon,pollard,hooper,burch,mullen,fry,riddle,levy,duke,odonnell,britt,daugherty,berger,dillard,alston,frye,riggs,chaney,odom,duffy,fitzpatrick,valenzuela,mayer,alford,mcpherson,acevedo,barrera,cote,reilly,compton,mooney,mcgowan,craft,clemons,wynn,nielsen,baird,stanton,snider,rosales,bright,witt,hays,holden,rutledge,kinney,clements,castaneda,slater,hahn,burks,delaney,pate,lancaster,sharpe,whitfield,talley,macias,burris,ratliff,mccray,madden,kaufman,beach,goff,cash,bolton,mcfadden,levine,byers,kirkland,kidd,workman,carney,mcleod,holcomb,finch,sosa,haney,franks,sargent,nieves,downs,rasmussen,bird,hewitt,foreman,valencia,oneil,delacruz,vinson,dejesus,hyde,forbes,gilliam,guthrie,wooten,huber,barlow,boyle,mcmahon,buckner,rocha,puckett,langley,knowles,cooke,velazquez,whitley,vang,shea,rouse,hartley,mayfield,elder,rankin,hanna,cowan,lucero,arroyo,slaughter,haas,oconnell,minor,boucher,archer,boggs,dougherty,andersen,newell,crowe,wang,friedman,bland,swain,holley,pearce,childs,yarbrough,galvan,proctor,meeks,lozano,mora,rangel,bacon,villanueva,schaefer,rosado,helms,boyce,goss,stinson,ibarra,hutchins,covington,crowley,hatcher,mackey,bunch,womack,polk,dodd,childress,childers,villa,springer,mahoney,dailey,belcher,lockhart,griggs,costa,brandt,walden,moser,tatum,mccann,akers,lutz,pryor,orozco,mcallister,lugo,davies,shoemaker,rutherford,newsome,magee,chamberlain,blanton,simms,godfrey,flanagan,crum,cordova,escobar,downing,sinclair,donahue,krueger,mcginnis,gore,farris,webber,corbett,andrade,starr,lyon,yoder,hastings,mcgrath,spivey,krause,harden,crabtree,kirkpatrick,arrington,ritter,mcghee,bolden,maloney,gagnon,dunbar,ponce,pike,mayes,beatty,mobley,kimball,butts,montes,eldridge,braun,hamm,gibbons,moyer,manley,herron,plummer,elmore,cramer,rucker,pierson,fontenot,rubio,goldstein,elkins,wills,novak,hickey,worley,gorman,katz,dickinson,broussard,woodruff,crow,britton,nance,lehman,bingham,zuniga,whaley,shafer,coffman,steward,delarosa,neely,mata,davila,mccabe,kessler,hinkle,welsh,pagan,goldberg,goins,crouch,cuevas,quinones,mcdermott,hendrickson,samuels,denton,bergeron,ivey,locke,haines,snell,hoskins,byrne,arias,corbin,beltran,chappell,downey,dooley,tuttle,couch,payton,mcelroy,crockett,groves,cartwright,dickey,mcgill,dubois,muniz,tolbert,dempsey,cisneros,sewell,latham,vigil,tapia,rainey,norwood,stroud,meade,tipton,kuhn,hilliard,bonilla,teague,gunn,greenwood,correa,reece,pineda,phipps,frey,kaiser,ames,gunter,schmitt,milligan,espinosa,bowden,vickers,lowry,pritchard,costello,piper,mcclellan,lovell,sheehan,hatch,dobson,singh,jeffries,hollingsworth,sorensen,meza,fink,donnelly,burrell,tomlinson,colbert,billings,ritchie,helton,sutherland,peoples,mcqueen,thomason,givens,crocker,vogel,robison,dunham,coker,swartz,keys,ladner,richter,hargrove,edmonds,brantley,albright,murdock,boswell,muller,quintero,padgett,kenney,daly,connolly,inman,quintana,lund,barnard,villegas,simons,huggins,tidwell,sanderson,bullard,mcclendon,duarte,draper,marrero,dwyer,abrams,stover,goode,fraser,crews,bernal,godwin,conklin,mcneal,baca,esparza,crowder,bower,brewster,mcneill,rodrigues,leal,coates,raines,mccain,mccord,miner,holbrook,swift,dukes,carlisle,aldridge,ackerman,starks,ricks,holliday,ferris,hairston,sheffield,lange,fountain,doss,betts,kaplan,carmichael,bloom,ruffin,penn,kern,bowles,sizemore,larkin,dupree,seals,metcalf,hutchison,henley,farr,mccauley,hankins,gustafson,curran,waddell,ramey,cates,pollock,cummins,messer,heller,funk,cornett,palacios,galindo,cano,hathaway,pham,enriquez,salgado,pelletier,painter,wiseman,blount,feliciano,houser,doherty,mead,mcgraw,swan,capps,blanco,blackmon,thomson,mcmanus,burkett,gleason,dickens,cormier,voss,rushing,rosenberg,hurd,dumas,benitez,arellano,marin,caudill,bragg,jaramillo,huerta,gipson,colvin,biggs,vela,platt,cassidy,tompkins,mccollum,dolan,daley,crump,sneed,kilgore,grove,grimm,davison,brunson,prater,marcum,devine,dodge,stratton,rosas,choi,tripp,ledbetter,hightower,feldman,epps,yeager,posey,scruggs,cope,stubbs,richey,overton,trotter,sprague,cordero,butcher,stiles,burgos,woodson,horner,bassett,purcell,haskins,akins,ziegler,spaulding,hadley,grubbs,sumner,murillo,zavala,shook,lockwood,driscoll,dahl,thorpe,redmond,putnam,mcwilliams,mcrae,romano,joiner,sadler,hedrick,hager,hagen,fitch,coulter,thacker,mansfield,langston,guidry,ferreira,corley,conn,rossi,lackey,baez,saenz,mcnamara,mcmullen,mckenna,mcdonough,link,engel,browne,roper,peacock,eubanks,drummond,stringer,pritchett,parham,mims,landers,grayson,schafer,egan,timmons,ohara,keen,hamlin,finn,cortes,mcnair,nadeau,moseley,michaud,rosen,oakes,kurtz,jeffers,calloway,beal,bautista,winn,suggs,stern,stapleton,lyles,laird,montano,dawkins,hagan,goldman,bryson,barajas,lovett,segura,metz,lockett,langford,hinson,eastman,hooks,smallwood,shapiro,crowell,whalen,triplett,chatman,aldrich,cahill,youngblood,ybarra,stallings,sheets,reeder,connelly,bateman,abernathy,winkler,wilkes,masters,hackett,granger,gillis,schmitz,sapp,napier,souza,lanier,gomes,weir,otero,ledford,burroughs,babcock,ventura,siegel,dugan,bledsoe,atwood,wray,varner,spangler,anaya,staley,kraft,fournier,belanger,wolff,thorne,bynum,burnette,boykin,swenson,purvis,pina,khan,duvall,darby,xiong,kauffman,healy,engle,benoit,valle,steiner,spicer,shaver,randle,lundy,chin,calvert,staton,neff,kearney,darden,oakley,medeiros,mccracken,crenshaw,perdue,dill,whittaker,tobin,washburn,hogue,goodrich,easley,bravo,dennison,shipley,kerns,jorgensen,crain,villalobos,maurer,longoria,keene,coon,witherspoon,staples,pettit,kincaid,eason,madrid,echols,lusk,stahl,currie,thayer,shultz,mcnally,seay,maher,gagne,barrow,nava,moreland,honeycutt,hearn,diggs,caron,whitten,westbrook,stovall,ragland,munson,meier,looney,kimble,jolly,hobson,goddard,culver,burr,presley,negron,connell,tovar,huddleston,ashby,salter,root,pendleton,oleary,nickerson,myrick,judd,jacobsen,bain,adair,starnes,matos,busby,herndon,hanley,bellamy,doty,bartley,yazzie,rowell,parson,gifford,cullen,christiansen,benavides,barnhart,talbot,mock,crandall,connors,bonds,whitt,gage,bergman,arredondo,addison,lujan,dowdy,jernigan,huynh,bouchard,dutton,rhoades,ouellette,kiser,herrington,hare,blackman,babb,allred,rudd,paulson,ogden,koenig,geiger,begay,parra,lassiter,hawk,esposito,waldron,ransom,prather,chacon,vick,sands,roark,parr,mayberry,greenberg,coley,bruner,whitman,skaggs,shipman,leary,hutton,romo,medrano,ladd,kruse,askew,schulz,alfaro,tabor,mohr,gallo,bermudez,pereira,bliss,reaves,flint,comer,woodall,naquin,guevara,delong,carrier,pickens,tilley,schaffer,knutson,fenton,doran,vogt,vann,prescott,mclain,landis,corcoran,zapata,hyatt,hemphill,faulk,dove,boudreaux,aragon,whitlock,trejo,tackett,shearer,saldana,hanks,mckinnon,koehler,bourgeois,keyes,goodson,foote,lunsford,goldsmith,flood,winslow,sams,reagan,mccloud,hough,esquivel,naylor,loomis,coronado,ludwig,braswell,bearden,huang,fagan,ezell,edmondson,cronin,nunn,lemon,guillory,grier,dubose,traylor,ryder,dobbins,coyle,aponte,whitmore,smalls,rowan,malloy,cardona,braxton,borden,humphries,carrasco,ruff,metzger,huntley,hinojosa,finney,madsen,ernst,dozier,burkhart,bowser,peralta,daigle,whittington,sorenson,saucedo,roche,redding,fugate,avalos,waite,lind,huston,hawthorne,hamby,boyles,boles,regan,faust,crook,beam,barger,hinds,gallardo,willoughby,willingham,eckert,busch,zepeda,worthington,tinsley,hoff,hawley,carmona,varela,rector,newcomb,kinsey,dube,whatley,ragsdale,bernstein,becerra,yost,mattson,felder,cheek,handy,grossman,gauthier,escobedo,braden,beckman,mott,hillman,flaherty,dykes,stockton,stearns,lofton,coats,cavazos,beavers,barrios,tang,mosher,cardwell,coles,burnham,weller,lemons,beebe,aguilera,parnell,harman,couture,alley,schumacher,redd,dobbs,blum,blalock,merchant,ennis,denson,cottrell,brannon,bagley,aviles,watt,sousa,rosenthal,rooney,dietz,blank,paquette,mcclelland,duff,velasco,lentz,grubb,burrows,barbour,ulrich,shockley,rader,beyer,mixon,layton,altman,weathers,stoner,squires,shipp,priest,lipscomb,cutler,caballero,zimmer,willett,thurston,storey,medley,epperson,shah,mcmillian,baggett,torrez,hirsch,dent,poirier,peachey,farrar,creech,barth,trimble,dupre,albrecht,sample,lawler,crisp,conroy,wetzel,nesbitt,murry,jameson,wilhelm,patten,minton,matson,kimbrough,guinn,croft,toth,pulliam,nugent,newby,littlejohn,dias,canales,bernier,baron,singletary,renteria,pruett,mchugh,mabry,landrum,brower,stoddard,cagle,stjohn,scales,kohler,kellogg,hopson,gant,tharp,gann,zeigler,pringle,hammons,fairchild,deaton,chavis,carnes,rowley,matlock,kearns,irizarry,carrington,starkey,lopes,jarrell,craven,baum,littlefield,linn,humphreys,etheridge,cuellar,chastain,bundy,speer,skelton,quiroz,pyle,portillo,ponder,moulton,machado,killian,hutson,hitchcock,dowling,cloud,burdick,spann,pedersen,levin,leggett,hayward,dietrich,beaulieu,barksdale,wakefield,snowden,briscoe,bowie,berman,ogle,mcgregor,laughlin,helm,burden,wheatley,schreiber,pressley,parris,alaniz,agee,swann,snodgrass,schuster,radford,monk,mattingly,harp,girard,cheney,yancey,wagoner,ridley,lombardo,hudgins,gaskins,duckworth,coburn,willey,prado,newberry,magana,hammonds,elam,whipple,slade,serna,ojeda,liles,dorman,diehl,upton,reardon,michaels,goetz,eller,bauman,baer,layne,hummel,brenner,amaya,adamson,ornelas,dowell,cloutier,castellanos,wellman,saylor,orourke,moya,montalvo,kilpatrick,durbin,shell,oldham,kang,garvin,foss,branham,bartholomew,templeton,maguire,holton,rider,monahan,mccormack,beaty,anders,streeter,nieto,nielson,moffett,lankford,keating,heck,gatlin,delatorre,callaway,adcock,worrell,unger,robinette,nowak,jeter,brunner,steen,parrott,overstreet,nobles,montanez,clevenger,brinkley,trahan,quarles,pickering,pederson,jansen,grantham,gilchrist,crespo,aiken,schell,schaeffer,lorenz,leyva,harms,dyson,wallis,pease,leavitt,cheng,cavanaugh,batts,warden,seaman,rockwell,quezada,paxton,linder,houck,fontaine,durant,caruso,adler,pimentel,mize,lytle,cleary,cason,acker,switzer,isaacs,higginbotham,waterman,vandyke,stamper,sisk,shuler,riddick,mcmahan,levesque,hatton,bronson,bollinger,arnett,okeefe,gerber,gannon,farnsworth,baughman,silverman,satterfield,mccrary,kowalski,grigsby,greco,cabral,trout,rinehart,mahon,linton,gooden,curley,baugh,wyman,weiner,schwab,schuler,morrissey,mahan,bunn,thrasher,spear,waggoner,qualls,purdy,mcwhorter,mauldin,gilman,perryman,newsom,menard,martino,graf,billingsley,artis,simpkins,salisbury,quintanilla,gilliland,fraley,foust,crouse,scarborough,grissom,fultz,marlow,markham,madrigal,lawton,barfield,whiting,varney,schwarz,gooch,arce,wheat,truong,poulin,hurtado,selby,gaither,fortner,culpepper,coughlin,brinson,boudreau,bales,stepp,holm,schilling,morrell,kahn,heaton,gamez,causey,turpin,shanks,schrader,meek,isom,hardison,carranza,yanez,scroggins,schofield,runyon,ratcliff,murrell,moeller,irby,currier,butterfield,ralston,pullen,pinson,estep,carbone,hawks,ellington,casillas,spurlock,sikes,motley,mccartney,kruger,isbell,houle,burk,tomlin,quigley,neumann,lovelace,fennell,cheatham,bustamante,skidmore,hidalgo,forman,culp,bowens,betancourt,aquino,robb,milner,martel,gresham,wiles,ricketts,dowd,collazo,bostic,blakely,sherrod,kenyon,gandy,ebert,deloach,allard,sauer,robins,olivares,gillette,chestnut,bourque,paine,hite,hauser,devore,crawley,chapa,talbert,poindexter,meador,mcduffie,mattox,kraus,harkins,choate,wren,sledge,sanborn,kinder,geary,cornwell,barclay,abney,seward,rhoads,howland,fortier,benner,vines,tubbs,troutman,rapp,mccurdy,deluca,westmoreland,havens,guajardo,clary,seal,meehan,herzog,guillen,ashcraft,waugh,renner,milam,elrod,churchill,breaux,bolin,asher,windham,tirado,pemberton,nolen,noland,knott,emmons,cornish,christenson,brownlee,barbee,waldrop,pitt,olvera,lombardi,gruber,gaffney,eggleston,banda,archuleta,slone,prewitt,pfeiffer,nettles,mena,mcadams,henning,gardiner,cromwell,chisholm,burleson,vest,oglesby,mccarter,lumpkin,wofford,vanhorn,thorn,teel,swafford,stclair,stanfield,ocampo,herrmann,hannon,arsenault,roush,mcalister,hiatt,gunderson,forsythe,duggan,delvalle,cintron,wilks,weinstein,uribe,rizzo,noyes,mclendon,gurley,bethea,winstead,maples,guyton,giordano,alderman,valdes,polanco,pappas,lively,grogan,griffiths,bobo,arevalo,whitson,sowell,rendon,fernandes,farrow,benavidez,ayres,alicea,stump,smalley,seitz,schulte,gilley,gallant,canfield,wolford,omalley,mcnutt,mcnulty,mcgovern,hardman,harbin,cowart,chavarria,brink,beckett,bagwell,armstead,anglin,abreu,reynoso,krebs,jett,hoffmann,greenfield,forte,burney,broome,sisson,trammell,partridge,mace,lomax,lemieux,gossett,frantz,fogle,cooney,broughton,pence,paulsen,muncy,mcarthur,hollins,beauchamp,withers,osorio,mulligan,hoyle,dockery,cockrell,begley,amador,roby,rains,lindquist,gentile,everhart,bohannon,wylie,sommers,purnell,fortin,dunning,breeden,vail,phelan,phan,marx,cosby,colburn,boling,biddle,ledesma,gaddis,denney,chow,bueno,berrios,wicker,tolliver,thibodeaux,nagle,lavoie,fisk,crist,barbosa,reedy,locklear,kolb,himes,behrens,beckwith,weems,wahl,shorter,shackelford,rees,muse,cerda,valadez,thibodeau,saavedra,ridgeway,reiter,mchenry,majors,lachance,keaton,ferrara,clemens,blocker,applegate,needham,mojica,kuykendall,hamel,escamilla,doughty,burchett,ainsworth,vidal,upchurch,thigpen,strauss,spruill,sowers,riggins,ricker,mccombs,harlow,buffington,sotelo,olivas,negrete,morey,macon,logsdon,lapointe,bigelow,bello,westfall,stubblefield,lindley,hein,hawes,farrington,breen,birch,wilde,steed,sepulveda,reinhardt,proffitt,minter,messina,mcnabb,maier,keeler,gamboa,donohue,basham,shinn,crooks,cota,borders,bills,bachman,tisdale,tavares,schmid,pickard,gulley,fonseca,delossantos,condon,batista,wicks,wadsworth,martell,littleton,ison,haag,folsom,brumfield,broyles,brito,mireles,mcdonnell,leclair,hamblin,gough,fanning,binder,winfield,whitworth,soriano,palumbo,newkirk,mangum,hutcherson,comstock,carlin,beall,bair,wendt,watters,walling,putman,otoole,morley,mares,lemus,keener,hundley,dial,damico,billups,strother,mcfarlane,lamm,eaves,crutcher,caraballo,canty,atwell,taft,siler,rust,rawls,rawlings,prieto,mcneely,mcafee,hulsey,hackney,galvez,escalante,delagarza,crider,bandy,wilbanks,stowe,steinberg,renfro,masterson,massie,lanham,haskell,hamrick,dehart,burdette,branson,bourne,babin,aleman,worthy,tibbs,smoot,slack,paradis,mull,luce,houghton,gantt,furman,danner,christianson,burge,ashford,arndt,almeida,stallworth,shade,searcy,sager,noonan,mclemore,mcintire,maxey,lavigne,jobe,ferrer,falk,coffin,byrnes,aranda,apodaca,stamps,rounds,peek,olmstead,lewandowski,kaminski,dunaway,bruns,brackett,amato,reich,mcclung,lacroix,koontz,herrick,hardesty,flanders,cousins,cato,cade,vickery,shank,nagel,dupuis,croteau,cotter,stuckey,stine,porterfield,pauley,moffitt,knudsen,hardwick,goforth,dupont,blunt,barrows,barnhill,shull,rash,loftis,lemay,kitchens,horvath,grenier,fuchs,fairbanks,culbertson,calkins,burnside,beattie,ashworth,albertson,wertz,vaught,vallejo,turk,tuck,tijerina,sage,peterman,marroquin,marr,lantz,hoang,demarco,cone,berube,barnette,wharton,stinnett,slocum,scanlon,sander,pinto,mancuso,lima,headley,epstein,counts,clarkson,carnahan,boren,arteaga,adame,zook,whittle,whitehurst,wenzel,saxton,reddick,puente,handley,haggerty,earley,devlin,chaffin,cady,acuna,solano,sigler,pollack,pendergrass,ostrander,janes,francois,crutchfield,chamberlin,brubaker,baptiste,willson,reis,neeley,mullin,mercier,lira,layman,keeling,higdon,espinal,chapin,warfield,toledo,pulido,peebles,nagy,montague,mello,lear,jaeger,hogg,graff,furr,soliz,poore,mendenhall,mclaurin,maestas,gable,barraza,tillery,snead,pond,neill,mcculloch,mccorkle,lightfoot,hutchings,holloman,harness,dorn,bock,zielinski,turley,treadwell,stpierre,starling,somers,oswald,merrick,easterling,bivens,truitt,poston,parry,ontiveros,olivarez,moreau,medlin,lenz,knowlton,fairley,cobbs,chisolm,bannister,woodworth,toler,ocasio,noriega,neuman,moye,milburn,mcclanahan,lilley,hanes,flannery,dellinger,danielson,conti,blodgett,beers,weatherford,strain,karr,hitt,denham,custer,coble,clough,casteel,bolduc,batchelor,ammons,whitlow,tierney,staten,sibley,seifert,schubert,salcedo,mattison,laney,haggard,grooms,dees,cromer,cooks,colson,caswell,zarate,swisher,shin,ragan,pridgen,mcvey,matheny,lafleur,franz,ferraro,dugger,whiteside,rigsby,mcmurray,lehmann,jacoby,hildebrand,hendrick,headrick,goad,fincher,drury,borges,archibald,albers,woodcock,trapp,soares,seaton,monson,luckett,lindberg,kopp,keeton,healey,garvey,gaddy,fain,burchfield,wentworth,strand,stack,spooner,saucier,ricci,plunkett,pannell,ness,leger,freitas,fong,elizondo,duval,beaudoin,urbina,rickard,partin,mcgrew,mcclintock,ledoux,forsyth,faison,devries,bertrand,wasson,tilton,scarbrough,leung,irvine,garber,denning,corral,colley,castleberry,bowlin,bogan,beale,baines,trice,rayburn,parkinson,nunes,mcmillen,leahy,kimmel,higgs,fulmer,carden,bedford,taggart,spearman,prichard,morrill,koonce,heinz,hedges,guenther,grice,findley,dover,creighton,boothe,bayer,arreola,vitale,valles,raney,osgood,hanlon,burley,bounds,worden,weatherly,vetter,tanaka,stiltner,nevarez,mosby,montero,melancon,harter,hamer,goble,gladden,gist,ginn,akin,zaragoza,tarver,sammons,royster,oreilly,muir,morehead,luster,kingsley,kelso,grisham,glynn,baumann,alves,yount,tamayo,paterson,oates,menendez,longo,hargis,gillen,desantis,conover,breedlove,sumpter,scherer,rupp,reichert,heredia,creel,cohn,clemmons,casas,bickford,belton,bach,williford,whitcomb,tennant,sutter,stull,mccallum,langlois,keel,keegan,dangelo,dancy,damron,clapp,clanton,bankston,oliveira,mintz,mcinnis,martens,mabe,laster,jolley,hildreth,hefner,glaser,duckett,demers,brockman,blais,alcorn,agnew,toliver,tice,seeley,najera,musser,mcfall,laplante,galvin,fajardo,doan,coyne,copley,clawson,cheung,barone,wynne,woodley,tremblay,stoll,sparrow,sparkman,schweitzer,sasser,samples,roney,legg,heim,farias,colwell,christman,bratcher,winchester,upshaw,southerland,sorrell,sells,mccloskey,martindale,luttrell,loveless,lovejoy,linares,latimer,embry,coombs,bratton,bostick,venable,tuggle,toro,staggs,sandlin,jefferies,heckman,griffis,crayton,clem,browder,thorton,sturgill,sprouse,royer,rousseau,ridenour,pogue,perales,peeples,metzler,mesa,mccutcheon,mcbee,hornsby,heffner,corrigan,armijo,plante,peyton,paredes,macklin,hussey,hodgson,granados,frias,becnel,batten,almanza,turney,teal,sturgeon,meeker,mcdaniels,limon,keeney,hutto,holguin,gorham,fishman,fierro,blanchette,rodrigue,reddy,osburn,oden,lerma,kirkwood,keefer,haugen,hammett,chalmers,brinkman,baumgartner,zhang,valerio,tellez,steffen,shumate,sauls,ripley,kemper,guffey,evers,craddock,carvalho,blaylock,banuelos,balderas,wheaton,turnbull,shuman,pointer,mosier,mccue,ligon,kozlowski,johansen,ingle,herr,briones,snipes,rickman,pipkin,pantoja,orosco,moniz,lawless,kunkel,hibbard,galarza,enos,bussey,schott,salcido,perreault,mcdougal,mccool,haight,garris,easton,conyers,atherton,wimberly,utley,spellman,smithson,slagle,ritchey,rand,petit,osullivan,oaks,nutt,mcvay,mccreary,mayhew,knoll,jewett,harwood,cardoza,ashe,arriaga,zeller,wirth,whitmire,stauffer,rountree,redden,mccaffrey,martz,larose,langdon,humes,gaskin,faber,devito,cass,almond,wingfield,wingate,villareal,tyner,smothers,severson,reno,pennell,maupin,leighton,janssen,hassell,hallman,halcomb,folse,fitzsimmons,fahey,cranford,bolen,battles,battaglia,wooldridge,trask,rosser,regalado,mcewen,keefe,fuqua,echevarria,caro,boynton,andrus,viera,vanmeter,taber,spradlin,seibert,provost,prentice,oliphant,laporte,hwang,hatchett,hass,greiner,freedman,covert,chilton,byars,wiese,venegas,swank,shrader,roberge,mullis,mortensen,mccune,marlowe,kirchner,keck,isaacson,hostetler,halverson,gunther,griswold,fenner,durden,blackwood,ahrens,sawyers,savoy,nabors,mcswain,mackay,lavender,lash,labbe,jessup,fullerton,cruse,crittenden,correia,centeno,caudle,canady,callender,alarcon,ahern,winfrey,tribble,salley,roden,musgrove,minnick,fortenberry,carrion,bunting,batiste,whited,underhill,stillwell,rauch,pippin,perrin,messenger,mancini,lister,kinard,hartmann,fleck,wilt,treadway,thornhill,spalding,rafferty,pitre,patino,ordonez,linkous,kelleher,homan,galbraith,feeney,curtin,coward,camarillo,buss,bunnell,bolt,beeler,autry,alcala,witte,wentz,stidham,shively,nunley,meacham,martins,lemke,lefebvre,hynes,horowitz,hoppe,holcombe,dunne,derr,cochrane,brittain,bedard,beauregard,torrence,strunk,soria,simonson,shumaker,scoggins,oconner,moriarty,kuntz,ives,hutcheson,horan,hales,garmon,fitts,bohn,atchison,wisniewski,vanwinkle,sturm,sallee,prosser,moen,lundberg,kunz,kohl,keane,jorgenson,jaynes,funderburk,freed,durr,creamer,cosgrove,batson,vanhoose,thomsen,teeter,smyth,redmon,orellana,maness,heflin,goulet,frick,forney,bunker,asbury,aguiar,talbott,southard,mowery,mears,lemmon,krieger,hickson,elston,duong,delgadillo,dayton,dasilva,conaway,catron,bruton,bradbury,bordelon,bivins,bittner,bergstrom,beals,abell,whelan,tejada,pulley,pino,norfleet,nealy,maes,loper,gatewood,frierson,freund,finnegan,cupp,covey,catalano,boehm,bader,yoon,walston,tenney,sipes,rawlins,medlock,mccaskill,mccallister,marcotte,maclean,hughey,henke,harwell,gladney,gilson,chism,caskey,brandenburg,baylor,villasenor,veal,thatcher,stegall,petrie,nowlin,navarrete,lombard,loftin,lemaster,kroll,kovach,kimbrell,kidwell,hershberger,fulcher,cantwell,bustos,boland,bobbitt,binkley,wester,weis,verdin,tong,tiller,sisco,sharkey,seymore,rosenbaum,rohr,quinonez,pinkston,malley,logue,lessard,lerner,lebron,krauss,klinger,halstead,haller,getz,burrow,alger,shores,pfeifer,perron,nelms,munn,mcmaster,mckenney,manns,knudson,hutchens,huskey,goebel,flagg,cushman,click,castellano,carder,bumgarner,wampler,spinks,robson,neel,mcreynolds,mathias,maas,loera,jenson,florez,coons,buckingham,brogan,berryman,wilmoth,wilhite,thrash,shephard,seidel,schulze,roldan,pettis,obryan,maki,mackie,hatley,frazer,fiore,chesser,bottoms,bisson,benefield,allman,wilke,trudeau,timm,shifflett,mundy,milliken,mayers,leake,kohn,huntington,horsley,hermann,guerin,fryer,frizzell,foret,flemming,fife,criswell,carbajal,bozeman,boisvert,angulo,wallen,tapp,silvers,ramsay,oshea,orta,moll,mckeever,mcgehee,linville,kiefer,ketchum,howerton,groce,gass,fusco,corbitt,betz,bartels,amaral,aiello,weddle,sperry,seiler,runyan,raley,overby,osteen,olds,mckeown,matney,lauer,lattimore,hindman,hartwell,fredrickson,fredericks,espino,clegg,carswell,cambell,burkholder,woodbury,welker,totten,thornburg,theriault,stitt,stamm,stackhouse,scholl,saxon,rife,razo,quinlan,pinkerton,olivo,nesmith,nall,mattos,lafferty,justus,giron,geer,fielder,drayton,dortch,conners,conger,boatwright,billiot,barden,armenta,tibbetts,steadman,slattery,rinaldi,raynor,pinckney,pettigrew,milne,matteson,halsey,gonsalves,fellows,durand,desimone,cowley,cowles,brill,barham,barela,barba,ashmore,withrow,valenti,tejeda,spriggs,sayre,salerno,peltier,peel,merriman,matheson,lowman,lindstrom,hyland,giroux,earls,dugas,dabney,collado,briseno,baxley,whyte,wenger,vanover,vanburen,thiel,schindler,schiller,rigby,pomeroy,passmore,marble,manzo,mahaffey,lindgren,laflamme,greathouse,fite,calabrese,bayne,yamamoto,wick,townes,thames,reinhart,peeler,naranjo,montez,mcdade,mast,markley,marchand,leeper,kellum,hudgens,hennessey,hadden,gainey,coppola,borrego,bolling,beane,ault,slaton,pape,null,mulkey,lightner,langer,hillard,ethridge,enright,derosa,baskin,weinberg,turman,somerville,pardo,noll,lashley,ingraham,hiller,hendon,glaze,cothran,cooksey,conte,carrico,abner,wooley,swope,summerlin,sturgis,sturdivant,stott,spurgeon,spillman,speight,roussel,popp,nutter,mckeon,mazza,magnuson,lanning,kozak,jankowski,heyward,forster,corwin,callaghan,bays,wortham,usher,theriot,sayers,sabo,poling,loya,lieberman,laroche,labelle,howes,harr,garay,fogarty,everson,durkin,dominquez,chaves,chambliss,witcher,vieira,vandiver,terrill,stoker,schreiner,moorman,liddell,lawhorn,krug,irons,hylton,hollenbeck,herrin,hembree,goolsby,goodin,gilmer,foltz,dinkins,daughtry,caban,brim,briley,bilodeau,wyant,vergara,tallent,swearingen,stroup,scribner,quillen,pitman,mccants,maxfield,martinson,holtz,flournoy,brookins,brody,baumgardner,straub,sills,roybal,roundtree,oswalt,mcgriff,mcdougall,mccleary,maggard,gragg,gooding,godinez,doolittle,donato,cowell,cassell,bracken,appel,zambrano,reuter,perea,nakamura,monaghan,mickens,mcclinton,mcclary,marler,kish,judkins,gilbreath,freese,flanigan,felts,erdmann,dodds,chew,brownell,boatright,barreto,slayton,sandberg,saldivar,pettway,odum,narvaez,moultrie,montemayor,merrell,lees,keyser,hoke,hardaway,hannan,gilbertson,fogg,dumont,deberry,coggins,buxton,bucher,broadnax,beeson,araujo,appleton,amundson,aguayo,ackley,yocum,worsham,shivers,sanches,sacco,robey,rhoden,pender,ochs,mccurry,madera,luong,knotts,jackman,heinrich,hargrave,gault,comeaux,chitwood,caraway,boettcher,bernhardt,barrientos,zink,wickham,whiteman,thorp,stillman,settles,schoonover,roque,riddell,pilcher,phifer,novotny,macleod,hardee,haase,grider,doucette,clausen,bevins,beamon,badillo,tolley,tindall,soule,snook,seale,pinkney,pellegrino,nowell,nemeth,mondragon,mclane,lundgren,ingalls,hudspeth,hixson,gearhart,furlong,downes,dibble,deyoung,cornejo,camara,brookshire,boyette,wolcott,surratt,sellars,segal,salyer,reeve,rausch,labonte,haro,gower,freeland,fawcett,eads,driggers,donley,collett,bromley,boatman,ballinger,baldridge,volz,trombley,stonge,shanahan,rivard,rhyne,pedroza,matias,jamieson,hedgepeth,hartnett,estevez,eskridge,denman,chiu,chinn,catlett,carmack,buie,bechtel,beardsley,bard,ballou,ulmer,skeen,robledo,rincon,reitz,piazza,munger,moten,mcmichael,loftus,ledet,kersey,groff,fowlkes,crumpton,clouse,bettis,villagomez,timmerman,strom,santoro,roddy,penrod,musselman,macpherson,leboeuf,harless,haddad,guido,golding,fulkerson,fannin,dulaney,dowdell,cottle,ceja,cate,bosley,benge,albritton,voigt,trowbridge,soileau,seely,rohde,pearsall,paulk,orth,nason,mota,mcmullin,marquardt,madigan,hoag,gillum,gabbard,fenwick,danforth,cushing,cress,creed,cazares,bettencourt,barringer,baber,stansberry,schramm,rutter,rivero,oquendo,necaise,mouton,montenegro,miley,mcgough,marra,macmillan,lamontagne,jasso,horst,hetrick,heilman,gaytan,gall,fortney,dingle,desjardins,dabbs,burbank,brigham,breland,beaman,arriola,yarborough,wallin,toscano,stowers,reiss,pichardo,orton,michels,mcnamee,mccrory,leatherman,kell,keister,horning,hargett,guay,ferro,deboer,dagostino,carper,blanks,beaudry,towle,tafoya,stricklin,strader,soper,sonnier,sigmon,schenk,saddler,pedigo,mendes,lunn,lohr,lahr,kingsbury,jarman,hume,holliman,hofmann,haworth,harrelson,hambrick,flick,edmunds,dacosta,crossman,colston,chaplin,carrell,budd,weiler,waits,valentino,trantham,tarr,solorio,roebuck,powe,plank,pettus,pagano,mink,luker,leathers,joslin,hartzell,gambrell,cepeda,carty,caputo,brewington,bedell,ballew,applewhite,warnock,walz,urena,tudor,reel,pigg,parton,mickelson,meagher,mclellan,mcculley,mandel,leech,lavallee,kraemer,kling,kipp,kehoe,hochstetler,harriman,gregoire,grabowski,gosselin,gammon,fancher,edens,desai,brannan,armendariz,woolsey,whitehouse,whetstone,ussery,towne,testa,tallman,studer,strait,steinmetz,sorrells,sauceda,rolfe,paddock,mitchem,mcginn,mccrea,lovato,hazen,gilpin,gaynor,fike,devoe,delrio,curiel,burkhardt,bode,backus,zinn,watanabe,wachter,vanpelt,turnage,shaner,schroder,sato,riordan,quimby,portis,natale,mckoy,mccown,kilmer,hotchkiss,hesse,halbert,gwinn,godsey,delisle,chrisman,canter,arbogast,angell,acree,yancy,woolley,wesson,weatherspoon,trainor,stockman,spiller,sipe,rooks,reavis,propst,porras,neilson,mullens,loucks,llewellyn,kumar,koester,klingensmith,kirsch,kester,honaker,hodson,hennessy,helmick,garrity,garibay,drain,casarez,callis,botello,aycock,avant,wingard,wayman,tully,theisen,szymanski,stansbury,segovia,rainwater,preece,pirtle,padron,mincey,mckelvey,mathes,larrabee,kornegay,klug,ingersoll,hecht,germain,eggers,dykstra,deering,decoteau,deason,dearing,cofield,carrigan,bonham,bahr,aucoin,appleby,almonte,yager,womble,wimmer,weimer,vanderpool,stancil,sprinkle,romine,remington,pfaff,peckham,olivera,meraz,maze,lathrop,koehn,hazelton,halvorson,hallock,haddock,ducharme,dehaven,caruthers,brehm,bosworth,bost,bias,beeman,basile,bane,aikens,wold,walther,tabb,suber,strawn,stocker,shirey,schlosser,riedel,rembert,reimer,pyles,peele,merriweather,letourneau,latta,kidder,hixon,hillis,hight,herbst,henriquez,haygood,hamill,gabel,fritts,eubank,dawes,correll,bushey,buchholz,brotherton,botts,barnwell,auger,atchley,westphal,veilleux,ulloa,stutzman,shriver,ryals,pilkington,moyers,marrs,mangrum,maddux,lockard,laing,kuhl,harney,hammock,hamlett,felker,doerr,depriest,carrasquillo,carothers,bogle,bischoff,bergen,albanese,wyckoff,vermillion,vansickle,thibault,tetreault,stickney,shoemake,ruggiero,rawson,racine,philpot,paschal,mcelhaney,mathison,legrand,lapierre,kwan,kremer,jiles,hilbert,geyer,faircloth,ehlers,egbert,desrosiers,dalrymple,cotten,cashman,cadena,boardman,alcaraz,wyrick,therrien,tankersley,strickler,puryear,plourde,pattison,pardue,mcginty,mcevoy,landreth,kuhns,koon,hewett,giddens,emerick,eades,deangelis,cosme,ceballos,birdsong,benham,bemis,armour,anguiano,welborn,tsosie,storms,shoup,sessoms,samaniego,rood,rojo,rhinehart,raby,northcutt,myer,munguia,morehouse,mcdevitt,mallett,lozada,lemoine,kuehn,hallett,grim,gillard,gaylor,garman,gallaher,feaster,faris,darrow,dardar,coney,carreon,braithwaite,boylan,boyett,bixler,bigham,benford,barragan,barnum,zuber,wyche,westcott,vining,stoltzfus,simonds,shupe,sabin,ruble,rittenhouse,richman,perrone,mulholland,millan,lomeli,kite,jemison,hulett,holler,hickerson,herold,hazelwood,griffen,gause,forde,eisenberg,dilworth,charron,chaisson,bristow,breunig,brace,boutwell,bentz,belk,bayless,batchelder,baran,baeza,zimmermann,weathersby,volk,toole,theis,tedesco,searle,schenck,satterwhite,ruelas,rankins,partida,nesbit,morel,menchaca,levasseur,kaylor,johnstone,hulse,hollar,hersey,harrigan,harbison,guyer,gish,giese,gerlach,geller,geisler,falcone,elwell,doucet,deese,darr,corder,chafin,byler,bussell,burdett,brasher,bowe,bellinger,bastian,barner,alleyne,wilborn,weil,wegner,tatro,spitzer,smithers,schoen,resendez,parisi,overman,obrian,mudd,mahler,maggio,lindner,lalonde,lacasse,laboy,killion,kahl,jessen,jamerson,houk,henshaw,gustin,graber,durst,duenas,davey,cundiff,conlon,colunga,coakley,chiles,capers,buell,bricker,bissonnette,bartz,bagby,zayas,volpe,treece,toombs,thom,terrazas,swinney,skiles,silveira,shouse,senn,ramage,moua,langham,kyles,holston,hoagland,herd,feller,denison,carraway,burford,bickel,ambriz,abercrombie,yamada,weidner,waddle,verduzco,thurmond,swindle,schrock,sanabria,rosenberger,probst,peabody,olinger,nazario,mccafferty,mcbroom,mcabee,mazur,matherne,mapes,leverett,killingsworth,heisler,griego,gosnell,frankel,franke,ferrante,fenn,ehrlich,christopherso,chasse,caton,brunelle,bloomfield,babbitt,azevedo,abramson,ables,abeyta,youmans,wozniak,wainwright,stowell,smitherman,samuelson,runge,rothman,rosenfeld,peake,owings,olmos,munro,moreira,leatherwood,larkins,krantz,kovacs,kizer,kindred,karnes,jaffe,hubbell,hosey,hauck,goodell,erdman,dvorak,doane,cureton,cofer,buehler,bierman,berndt,banta,abdullah,warwick,waltz,turcotte,torrey,stith,seger,sachs,quesada,pinder,peppers,pascual,paschall,parkhurst,ozuna,oster,nicholls,lheureux,lavalley,kimura,jablonski,haun,gourley,gilligan,croy,cotto,cargill,burwell,burgett,buckman,booher,adorno,wrenn,whittemore,urias,szabo,sayles,saiz,rutland,rael,pharr,pelkey,ogrady,nickell,musick,moats,mather,massa,kirschner,kieffer,kellar,hendershot,gott,godoy,gadson,furtado,fiedler,erskine,dutcher,dever,daggett,chevalier,brake,ballesteros,amerson,wingo,waldon,trott,silvey,showers,schlegel,ritz,pepin,pelayo,parsley,palermo,moorehead,mchale,lett,kocher,kilburn,iglesias,humble,hulbert,huckaby,hartford,hardiman,gurney,grigg,grasso,goings,fillmore,farber,depew,dandrea,cowen,covarrubias,burrus,bracy,ardoin,thompkins,standley,radcliffe,pohl,persaud,parenteau,pabon,newson,newhouse,napolitano,mulcahy,malave,keim,hooten,hernandes,heffernan,hearne,greenleaf,glick,fuhrman,fetter,faria,dishman,dickenson,crites,criss,clapper,chenault,castor,casto,bugg,bove,bonney,anderton,allgood,alderson,woodman,warrick,toomey,tooley,tarrant,summerville,stebbins,sokol,searles,schutz,schumann,scheer,remillard,raper,proulx,palmore,monroy,messier,melo,melanson,mashburn,manzano,lussier,jenks,huneycutt,hartwig,grimsley,fulk,fielding,fidler,engstrom,eldred,dantzler,crandell,calder,brumley,breton,brann,bramlett,boykins,bianco,bancroft,almaraz,alcantar,whitmer,whitener,welton,vineyard,rahn,paquin,mizell,mcmillin,mckean,marston,maciel,lundquist,liggins,lampkin,kranz,koski,kirkham,jiminez,hazzard,harrod,graziano,grammer,gendron,garrido,fordham,englert,dryden,demoss,deluna,crabb,comeau,brummett,blume,benally,wessel,vanbuskirk,thorson,stumpf,stockwell,reams,radtke,rackley,pelton,niemi,newland,nelsen,morrissette,miramontes,mcginley,mccluskey,marchant,luevano,lampe,lail,jeffcoat,infante,hinman,gaona,eady,desmarais,decosta,dansby,cisco,choe,breckenridge,bostwick,borg,bianchi,alberts,wilkie,whorton,vargo,tait,soucy,schuman,ousley,mumford,lippert,leath,lavergne,laliberte,kirksey,kenner,johnsen,izzo,hiles,gullett,greenwell,gaspar,galbreath,gaitan,ericson,delapaz,croom,cottingham,clift,bushnell,bice,beason,arrowood,waring,voorhees,truax,shreve,shockey,schatz,sandifer,rubino,rozier,roseberry,pieper,peden,nester,nave,murphey,malinowski,macgregor,lafrance,kunkle,kirkman,hipp,hasty,haddix,gervais,gerdes,gamache,fouts,fitzwater,dillingham,deming,deanda,cedeno,cannady,burson,bouldin,arceneaux,woodhouse,whitford,wescott,welty,weigel,torgerson,toms,surber,sunderland,sterner,setzer,riojas,pumphrey,puga,metts,mcgarry,mccandless,magill,lupo,loveland,llamas,leclerc,koons,kahler,huss,holbert,heintz,haupt,grimmett,gaskill,ellingson,dorr,dingess,deweese,desilva,crossley,cordeiro,converse,conde,caldera,cairns,burmeister,burkhalter,brawner,bott,youngs,vierra,valladares,shrum,shropshire,sevilla,rusk,rodarte,pedraza,nino,merino,mcminn,markle,mapp,lajoie,koerner,kittrell,kato,hyder,hollifield,heiser,hazlett,greenwald,fant,eldredge,dreher,delafuente,cravens,claypool,beecher,aronson,alanis,worthen,wojcik,winger,whitacre,valverde,valdivia,troupe,thrower,swindell,suttles,stroman,spires,slate,shealy,sarver,sartin,sadowski,rondeau,rolon,rascon,priddy,paulino,nolte,munroe,molloy,mciver,lykins,loggins,lenoir,klotz,kempf,hupp,hollowell,hollander,haynie,harkness,harker,gottlieb,frith,eddins,driskell,doggett,densmore,charette,cassady,byrum,burcham,buggs,benn,whitted,warrington,vandusen,vaillancourt,steger,siebert,scofield,quirk,purser,plumb,orcutt,nordstrom,mosely,michalski,mcphail,mcdavid,mccraw,marchese,mannino,lefevre,largent,lanza,kress,isham,hunsaker,hoch,hildebrandt,guarino,grijalva,graybill,fick,ewell,ewald,cusick,crumley,coston,cathcart,carruthers,bullington,bowes,blain,blackford,barboza,yingling,wert,weiland,varga,silverstein,sievers,shuster,shumway,runnels,rumsey,renfroe,provencher,polley,mohler,middlebrooks,kutz,koster,groth,glidden,fazio,deen,chipman,chenoweth,champlin,cedillo,carrero,carmody,buckles,brien,boutin,bosch,berkowitz,altamirano,wilfong,wiegand,waites,truesdale,toussaint,tobey,tedder,steelman,sirois,schnell,robichaud,richburg,plumley,pizarro,piercy,ortego,oberg,neace,mertz,mcnew,matta,lapp,lair,kibler,howlett,hollister,hofer,hatten,hagler,falgoust,engelhardt,eberle,dombrowski,dinsmore,daye,casares,braud,balch,autrey,wendel,tyndall,strobel,stoltz,spinelli,serrato,reber,rathbone,palomino,nickels,mayle,mathers,mach,loeffler,littrell,levinson,leong,lemire,lejeune,lazo,lasley,koller,kennard,hoelscher,hintz,hagerman,greaves,fore,eudy,engler,corrales,cordes,brunet,bidwell,bennet,tyrrell,tharpe,swinton,stribling,southworth,sisneros,savoie,samons,ruvalcaba,ries,ramer,omara,mosqueda,millar,mcpeak,macomber,luckey,litton,lehr,lavin,hubbs,hoard,hibbs,hagans,futrell,exum,evenson,culler,carbaugh,callen,brashear,bloomer,blakeney,bigler,addington,woodford,unruh,tolentino,sumrall,stgermain,smock,sherer,rayner,pooler,oquinn,nero,mcglothlin,linden,kowal,kerrigan,ibrahim,harvell,hanrahan,goodall,geist,fussell,fung,ferebee,eley,eggert,dorsett,dingman,destefano,colucci,clemmer,burnell,brumbaugh,boddie,berryhill,avelar,alcantara,winder,winchell,vandenberg,trotman,thurber,thibeault,stlouis,stilwell,sperling,shattuck,sarmiento,ruppert,rumph,renaud,randazzo,rademacher,quiles,pearman,palomo,mercurio,lowrey,lindeman,lawlor,larosa,lander,labrecque,hovis,holifield,henninger,hawkes,hartfield,hann,hague,genovese,garrick,fudge,frink,eddings,dinh,cribbs,calvillo,bunton,brodeur,bolding,blanding,agosto,zahn,wiener,trussell,tello,teixeira,speck,sharma,shanklin,sealy,scanlan,santamaria,roundy,robichaux,ringer,rigney,prevost,polson,nord,moxley,medford,mccaslin,mcardle,macarthur,lewin,lasher,ketcham,keiser,heine,hackworth,grose,grizzle,gillman,gartner,frazee,fleury,edson,edmonson,derry,cronk,conant,burress,burgin,broom,brockington,bolick,boger,birchfield,billington,baily,bahena,armbruster,anson,yoho,wilcher,tinney,timberlake,thielen,sutphin,stultz,sikora,serra,schulman,scheffler,santillan,rego,preciado,pinkham,mickle,lomas,lizotte,lent,kellerman,keil,johanson,hernadez,hartsfield,haber,gorski,farkas,eberhardt,duquette,delano,cropper,cozart,cockerham,chamblee,cartagena,cahoon,buzzell,brister,brewton,blackshear,benfield,aston,ashburn,arruda,wetmore,weise,vaccaro,tucci,sudduth,stromberg,stoops,showalter,shears,runion,rowden,rosenblum,riffle,renfrow,peres,obryant,leftwich,lark,landeros,kistler,killough,kerley,kastner,hoggard,hartung,guertin,govan,gatling,gailey,fullmer,fulford,flatt,esquibel,endicott,edmiston,edelstein,dufresne,dressler,dickman,chee,busse,bonnett,berard,yoshida,velarde,veach,vanhouten,vachon,tolson,tolman,tennyson,stites,soler,shutt,ruggles,rhone,pegues,neese,muro,moncrief,mefford,mcphee,mcmorris,mceachern,mcclurg,mansour,mader,leija,lecompte,lafountain,labrie,jaquez,heald,hash,hartle,gainer,frisby,farina,eidson,edgerton,dyke,durrett,duhon,cuomo,cobos,cervantez,bybee,brockway,borowski,binion,beery,arguello,amaro,acton,yuen,winton,wigfall,weekley,vidrine,vannoy,tardiff,shoop,shilling,schick,safford,prendergast,pilgrim,pellerin,osuna,nissen,nalley,moller,messner,messick,merrifield,mcguinness,matherly,marcano,mahone,lemos,lebrun,jara,hoffer,herren,hecker,haws,haug,gwin,gober,gilliard,fredette,favela,echeverria,downer,donofrio,desrochers,crozier,corson,bechtold,argueta,aparicio,zamudio,westover,westerman,utter,troyer,thies,tapley,slavin,shirk,sandler,roop,rimmer,raymer,radcliff,otten,moorer,millet,mckibben,mccutchen,mcavoy,mcadoo,mayorga,mastin,martineau,marek,madore,leflore,kroeger,kennon,jimerson,hostetter,hornback,hendley,hance,guardado,granado,gowen,goodale,flinn,fleetwood,fitz,durkee,duprey,dipietro,dilley,clyburn,brawley,beckley,arana,weatherby,vollmer,vestal,tunnell,trigg,tingle,takahashi,sweatt,storer,snapp,shiver,rooker,rathbun,poisson,perrine,perri,parmer,parke,pare,papa,palmieri,midkiff,mecham,mccomas,mcalpine,lovelady,lillard,lally,knopp,kile,kiger,haile,gupta,goldsberry,gilreath,fulks,friesen,franzen,flack,findlay,ferland,dreyer,dore,dennard,deckard,debose,crim,coulombe,chancey,cantor,branton,bissell,barns,woolard,witham,wasserman,spiegel,shoffner,scholz,ruch,rossman,petry,palacio,paez,neary,mortenson,millsap,miele,menke,mckim,mcanally,martines,lemley,larochelle,klaus,klatt,kaufmann,kapp,helmer,hedge,halloran,glisson,frechette,fontana,eagan,distefano,danley,creekmore,chartier,chaffee,carillo,burg,bolinger,berkley,benz,basso,bash,zelaya,woodring,witkowski,wilmot,wilkens,wieland,verdugo,urquhart,tsai,timms,swiger,swaim,sussman,pires,molnar,mcatee,lowder,loos,linker,landes,kingery,hufford,higa,hendren,hammack,hamann,gillam,gerhardt,edelman,delk,deans,curl,constantine,cleaver,claar,casiano,carruth,carlyle,brophy,bolanos,bibbs,bessette,beggs,baugher,bartel,averill,andresen,amin,adames,valente,turnbow,swink,sublett,stroh,stringfellow,ridgway,pugliese,poteat,ohare,neubauer,murchison,mingo,lemmons,kwon,kellam,kean,jarmon,hyden,hudak,hollinger,henkel,hemingway,hasson,hansel,halter,haire,ginsberg,gillispie,fogel,flory,etter,elledge,eckman,deas,currin,crafton,coomer,colter,claxton,bulter,braddock,bowyer,binns,bellows,baskerville,barros,ansley,woolf,wight,waldman,wadley,tull,trull,tesch,stouffer,stadler,slay,shubert,sedillo,santacruz,reinke,poynter,neri,neale,mowry,moralez,monger,mitchum,merryman,manion,macdougall,litchfield,levitt,lepage,lasalle,khoury,kavanagh,karns,ivie,huebner,hodgkins,halpin,garica,eversole,dutra,dunagan,duffey,dillman,dillion,deville,dearborn,damato,courson,coulson,burdine,bousquet,bonin,bish,atencio,westbrooks,wages,vaca,toner,tillis,swett,struble,stanfill,solorzano,slusher,sipple,silvas,shults,schexnayder,saez,rodas,rager,pulver,penton,paniagua,meneses,mcfarlin,mcauley,matz,maloy,magruder,lohman,landa,lacombe,jaimes,holzer,holst,heil,hackler,grundy,gilkey,farnham,durfee,dunton,dunston,duda,dews,craver,corriveau,conwell,colella,chambless,bremer,boutte,bourassa,blaisdell,backman,babineaux,audette,alleman,towner,taveras,tarango,sullins,suiter,stallard,solberg,schlueter,poulos,pimental,owsley,okelley,moffatt,metcalfe,meekins,medellin,mcglynn,mccowan,marriott,marable,lennox,lamoureux,koss,kerby,karp,isenberg,howze,hockenberry,highsmith,hallmark,gusman,greeley,giddings,gaudet,gallup,fleenor,eicher,edington,dimaggio,dement,demello,decastro,bushman,brundage,brooker,bourg,blackstock,bergmann,beaton,banister,argo,appling,wortman,watterson,villalpando,tillotson,tighe,sundberg,sternberg,stamey,shipe,seeger,scarberry,sattler,sain,rothstein,poteet,plowman,pettiford,penland,partain,pankey,oyler,ogletree,ogburn,moton,merkel,lucier,lakey,kratz,kinser,kershaw,josephson,imhoff,hendry,hammon,frisbie,frawley,fraga,forester,eskew,emmert,drennan,doyon,dandridge,cawley,carvajal,bracey,belisle,batey,ahner,wysocki,weiser,veliz,tincher,sansone,sankey,sandstrom,rohrer,risner,pridemore,pfeffer,persinger,peery,oubre,nowicki,musgrave,murdoch,mullinax,mccary,mathieu,livengood,kyser,klink,kimes,kellner,kavanaugh,kasten,imes,hoey,hinshaw,hake,gurule,grube,grillo,geter,gatto,garver,garretson,farwell,eiland,dunford,decarlo,corso,colman,collard,cleghorn,chasteen,cavender,carlile,calvo,byerly,brogdon,broadwater,breault,bono,bergin,behr,ballenger,amick,tamez,stiffler,steinke,simmon,shankle,schaller,salmons,sackett,saad,rideout,ratcliffe,ranson,plascencia,petterson,olszewski,olney,olguin,nilsson,nevels,morelli,montiel,monge,michaelson,mertens,mcchesney,mcalpin,mathewson,loudermilk,lineberry,liggett,kinlaw,kight,jost,hereford,hardeman,halpern,halliday,hafer,gaul,friel,freitag,forsberg,evangelista,doering,dicarlo,dendy,delp,deguzman,dameron,curtiss,cosper,cauthen,bradberry,bouton,bonnell,bixby,bieber,beveridge,bedwell,barhorst,bannon,baltazar,baier,ayotte,attaway,arenas,abrego,turgeon,tunstall,thaxton,tenorio,stotts,sthilaire,shedd,seabolt,scalf,salyers,ruhl,rowlett,robinett,pfister,perlman,pepe,parkman,nunnally,norvell,napper,modlin,mckellar,mcclean,mascarenas,leibowitz,ledezma,kuhlman,kobayashi,hunley,holmquist,hinkley,hazard,hartsell,gribble,gravely,fifield,eliason,doak,crossland,carleton,bridgeman,bojorquez,boggess,auten,woosley,whiteley,wexler,twomey,tullis,townley,standridge,santoyo,rueda,riendeau,revell,pless,ottinger,nigro,nickles,mulvey,menefee,mcshane,mcloughlin,mckinzie,markey,lockridge,lipsey,knisley,knepper,kitts,kiel,jinks,hathcock,godin,gallego,fikes,fecteau,estabrook,ellinger,dunlop,dudek,countryman,chauvin,chatham,bullins,brownfield,boughton,bloodworth,bibb,baucom,barbieri,aubin,armitage,alessi,absher,abbate,zito,woolery,wiggs,wacker,tynes,tolle,telles,tarter,swarey,strode,stockdale,stalnaker,spina,schiff,saari,risley,rameriz,rakes,pettaway,penner,paulus,palladino,omeara,montelongo,melnick,mehta,mcgary,mccourt,mccollough,marchetti,manzanares,lowther,leiva,lauderdale,lafontaine,kowalczyk,knighton,joubert,jaworski,huth,hurdle,housley,hackman,gulick,gordy,gilstrap,gehrke,gebhart,gaudette,foxworth,endres,dunkle,cimino,caddell,brauer,braley,bodine,blackmore,belden,backer,ayer,andress,wisner,vuong,valliere,twigg,tavarez,strahan,steib,staub,sowder,seiber,schutt,scharf,schade,rodriques,risinger,renshaw,rahman,presnell,piatt,nieman,nevins,mcilwain,mcgaha,mccully,mccomb,massengale,macedo,lesher,kearse,jauregui,husted,hudnall,holmberg,hertel,hardie,glidewell,frausto,fassett,dalessandro,dahlgren,corum,constantino,conlin,colquitt,colombo,claycomb,cardin,buller,boney,bocanegra,biggers,benedetto,araiza,andino,albin,zorn,werth,weisman,walley,vanegas,ulibarri,towe,tedford,teasley,suttle,steffens,stcyr,squire,singley,sifuentes,shuck,schram,sass,rieger,ridenhour,rickert,richerson,rayborn,rabe,raab,pendley,pastore,ordway,moynihan,mellott,mckissick,mcgann,mccready,mauney,marrufo,lenhart,lazar,lafave,keele,kautz,jardine,jahnke,jacobo,hord,hardcastle,hageman,giglio,gehring,fortson,duque,duplessis,dicken,derosier,deitz,dalessio,cram,castleman,candelario,callison,caceres,bozarth,biles,bejarano,bashaw,avina,armentrout,alverez,acord,waterhouse,vereen,vanlandingham,strawser,shotwell,severance,seltzer,schoonmaker,schock,schaub,schaffner,roeder,rodrigez,riffe,rasberry,rancourt,railey,quade,pursley,prouty,perdomo,oxley,osterman,nickens,murphree,mounts,merida,maus,mattern,masse,martinelli,mangan,lutes,ludwick,loney,laureano,lasater,knighten,kissinger,kimsey,kessinger,honea,hollingshead,hockett,heyer,heron,gurrola,gove,glasscock,gillett,galan,featherstone,eckhardt,duron,dunson,dasher,culbreth,cowden,cowans,claypoole,churchwell,chabot,caviness,cater,caston,callan,byington,burkey,boden,beckford,atwater,archambault,alvey,alsup,whisenant,weese,voyles,verret,tsang,tessier,sweitzer,sherwin,shaughnessy,revis,remy,prine,philpott,peavy,paynter,parmenter,ovalle,offutt,nightingale,newlin,nakano,myatt,muth,mohan,mcmillon,mccarley,mccaleb,maxson,marinelli,maley,liston,letendre,kain,huntsman,hirst,hagerty,gulledge,greenway,grajeda,gorton,goines,gittens,frederickson,fanelli,embree,eichelberger,dunkin,dixson,dillow,defelice,chumley,burleigh,borkowski,binette,biggerstaff,berglund,beller,audet,arbuckle,allain,alfano,youngman,wittman,weintraub,vanzant,vaden,twitty,stollings,standifer,sines,shope,scalise,saville,posada,pisano,otte,nolasco,mier,merkle,mendiola,melcher,mejias,mcmurry,mccalla,markowitz,manis,mallette,macfarlane,lough,looper,landin,kittle,kinsella,kinnard,hobart,helman,hellman,hartsock,halford,hage,gordan,glasser,gayton,gattis,gastelum,gaspard,frisch,fitzhugh,eckstein,eberly,dowden,despain,crumpler,crotty,cornelison,chouinard,chamness,catlin,cann,bumgardner,budde,branum,bradfield,braddy,borst,birdwell,bazan,banas,bade,arango,ahearn,addis,zumwalt,wurth,wilk,widener,wagstaff,urrutia,terwilliger,tart,steinman,staats,sloat,rives,riggle,revels,reichard,prickett,poff,pitzer,petro,pell,northrup,nicks,moline,mielke,maynor,mallon,magness,lingle,lindell,lieb,lesko,lebeau,lammers,lafond,kiernan,ketron,jurado,holmgren,hilburn,hayashi,hashimoto,harbaugh,guillot,gard,froehlich,feinberg,falco,dufour,drees,doney,diep,delao,daves,dail,crowson,coss,congdon,carner,camarena,butterworth,burlingame,bouffard,bloch,bilyeu,barta,bakke,baillargeon,avent,aquilar,zeringue,yarber,wolfson,vogler,voelker,truss,troxell,thrift,strouse,spielman,sistrunk,sevigny,schuller,schaaf,ruffner,routh,roseman,ricciardi,peraza,pegram,overturf,olander,odaniel,millner,melchor,maroney,machuca,macaluso,livesay,layfield,laskowski,kwiatkowski,kilby,hovey,heywood,hayman,havard,harville,haigh,hagood,grieco,glassman,gebhardt,fleischer,fann,elson,eccles,cunha,crumb,blakley,bardwell,abshire,woodham,wines,welter,wargo,varnado,tutt,traynor,swaney,stricker,stoffel,stambaugh,sickler,shackleford,selman,seaver,sansom,sanmiguel,royston,rourke,rockett,rioux,puleo,pitchford,nardi,mulvaney,middaugh,malek,leos,lathan,kujawa,kimbro,killebrew,houlihan,hinckley,herod,hepler,hamner,hammel,hallowell,gonsalez,gingerich,gambill,funkhouser,fricke,fewell,falkner,endsley,dulin,drennen,deaver,dambrosio,chadwell,castanon,burkes,brune,brisco,brinker,bowker,boldt,berner,beaumont,beaird,bazemore,barrick,albano,younts,wunderlich,weidman,vanness,toland,theobald,stickler,steiger,stanger,spies,spector,sollars,smedley,seibel,scoville,saito,rummel,rowles,rouleau,roos,rogan,roemer,ream,raya,purkey,priester,perreira,penick,paulin,parkins,overcash,oleson,neves,muldrow,minard,midgett,michalak,melgar,mcentire,mcauliffe,marte,lydon,lindholm,leyba,langevin,lagasse,lafayette,kesler,kelton,kaminsky,jaggers,humbert,huck,howarth,hinrichs,higley,gupton,guimond,gravois,giguere,fretwell,fontes,feeley,faucher,eichhorn,ecker,earp,dole,dinger,derryberry,demars,deel,copenhaver,collinsworth,colangelo,cloyd,claiborne,caulfield,carlsen,calzada,caffey,broadus,brenneman,bouie,bodnar,blaney,blanc,beltz,behling,barahona,yockey,winkle,windom,wimer,villatoro,trexler,teran,taliaferro,sydnor,swinson,snelling,smtih,simonton,simoneaux,simoneau,sherrer,seavey,scheel,rushton,rupe,ruano,rippy,reiner,reiff,rabinowitz,quach,penley,odle,nock,minnich,mckown,mccarver,mcandrew,longley,laux,lamothe,lafreniere,kropp,krick,kates,jepson,huie,howse,howie,henriques,haydon,haught,hatter,hartzog,harkey,grimaldo,goshorn,gormley,gluck,gilroy,gillenwater,giffin,fluker,feder,eyre,eshelman,eakins,detwiler,delrosario,davisson,catalan,canning,calton,brammer,botelho,blakney,bartell,averett,askins,aker,witmer,winkelman,widmer,whittier,weitzel,wardell,wagers,ullman,tupper,tingley,tilghman,talton,simard,seda,scheller,sala,rundell,rost,ribeiro,rabideau,primm,pinon,peart,ostrom,ober,nystrom,nussbaum,naughton,murr,moorhead,monti,monteiro,melson,meissner,mclin,mcgruder,marotta,makowski,majewski,madewell,lunt,lukens,leininger,lebel,lakin,kepler,jaques,hunnicutt,hungerford,hoopes,hertz,heins,halliburton,grosso,gravitt,glasper,gallman,gallaway,funke,fulbright,falgout,eakin,dostie,dorado,dewberry,derose,cutshall,crampton,costanzo,colletti,cloninger,claytor,chiang,campagna,burd,brokaw,broaddus,bretz,brainard,binford,bilbrey,alpert,aitken,ahlers,zajac,woolfolk,witten,windle,wayland,tramel,tittle,talavera,suter,straley,specht,sommerville,soloman,skeens,sigman,sibert,shavers,schuck,schmit,sartain,sabol,rosenblatt,rollo,rashid,rabb,polston,nyberg,northrop,navarra,muldoon,mikesell,mcdougald,mcburney,mariscal,lozier,lingerfelt,legere,latour,lagunas,lacour,kurth,killen,kiely,kayser,kahle,isley,huertas,hower,hinz,haugh,gumm,galicia,fortunato,flake,dunleavy,duggins,doby,digiovanni,devaney,deltoro,cribb,corpuz,coronel,coen,charbonneau,caine,burchette,blakey,blakemore,bergquist,beene,beaudette,bayles,ballance,bakker,bailes,asberry,arwood,zucker,willman,whitesell,wald,walcott,vancleave,trump,strasser,simas,shick,schleicher,schaal,saleh,rotz,resnick,rainer,partee,ollis,oller,oday,noles,munday,mong,millican,merwin,mazzola,mansell,magallanes,llanes,lewellen,lepore,kisner,keesee,jeanlouis,ingham,hornbeck,hawn,hartz,harber,haffner,gutshall,guth,grays,gowan,finlay,finkelstein,eyler,enloe,dungan,diez,dearman,cull,crosson,chronister,cassity,campion,callihan,butz,breazeale,blumenthal,berkey,batty,batton,arvizu,alderete,aldana,albaugh,abernethy,wolter,wille,tweed,tollefson,thomasson,teter,testerman,sproul,spates,southwick,soukup,skelly,senter,sealey,sawicki,sargeant,rossiter,rosemond,repp,pifer,ormsby,nickelson,naumann,morabito,monzon,millsaps,millen,mcelrath,marcoux,mantooth,madson,macneil,mackinnon,louque,leister,lampley,kushner,krouse,kirwan,jessee,janson,jahn,jacquez,islas,hutt,holladay,hillyer,hepburn,hensel,harrold,gingrich,geis,gales,fults,finnell,ferri,featherston,epley,ebersole,eames,dunigan,drye,dismuke,devaughn,delorenzo,damiano,confer,collum,clower,clow,claussen,clack,caylor,cawthon,casias,carreno,bluhm,bingaman,bewley,belew,beckner,auld,amey,wolfenbarger,wilkey,wicklund,waltman,villalba,valero,valdovinos,ullrich,tyus,twyman,trost,tardif,tanguay,stripling,steinbach,shumpert,sasaki,sappington,sandusky,reinhold,reinert,quijano,placencia,pinkard,phinney,perrotta,pernell,parrett,oxendine,owensby,orman,nuno,mori,mcroberts,mcneese,mckamey,mccullum,markel,mardis,maines,lueck,lubin,lefler,leffler,larios,labarbera,kershner,josey,jeanbaptiste,izaguirre,hermosillo,haviland,hartshorn,hafner,ginter,getty,franck,fiske,dufrene,doody,davie,dangerfield,dahlberg,cuthbertson,crone,coffelt,chidester,chesson,cauley,caudell,cantara,campo,caines,bullis,bucci,brochu,bogard,bickerstaff,benning,arzola,antonelli,adkinson,zellers,wulf,worsley,woolridge,whitton,westerfield,walczak,vassar,truett,trueblood,trawick,townsley,topping,tobar,telford,steverson,stagg,sitton,sill,sergent,schoenfeld,sarabia,rutkowski,rubenstein,rigdon,prentiss,pomerleau,plumlee,philbrick,patnode,oloughlin,obregon,nuss,morell,mikell,mele,mcinerney,mcguigan,mcbrayer,lollar,kuehl,kinzer,kamp,joplin,jacobi,howells,holstein,hedden,hassler,harty,halle,greig,gouge,goodrum,gerhart,geier,geddes,gast,forehand,ferree,fendley,feltner,esqueda,encarnacion,eichler,egger,edmundson,eatmon,doud,donohoe,donelson,dilorenzo,digiacomo,diggins,delozier,dejong,danford,crippen,coppage,cogswell,clardy,cioffi,cabe,brunette,bresnahan,blomquist,blackstone,biller,bevis,bevan,bethune,benbow,baty,basinger,balcom,andes,aman,aguero,adkisson,yandell,wilds,whisenhunt,weigand,weeden,voight,villar,trottier,tillett,suazo,setser,scurry,schuh,schreck,schauer,samora,roane,rinker,reimers,ratchford,popovich,parkin,natal,melville,mcbryde,magdaleno,loehr,lockman,lingo,leduc,larocca,lamere,laclair,krall,korte,koger,jalbert,hughs,higbee,henton,heaney,haith,gump,greeson,goodloe,gholston,gasper,gagliardi,fregoso,farthing,fabrizio,ensor,elswick,elgin,eklund,eaddy,drouin,dorton,dizon,derouen,deherrera,davy,dampier,cullum,culley,cowgill,cardoso,cardinale,brodsky,broadbent,brimmer,briceno,branscum,bolyard,boley,bennington,beadle,baur,ballentine,azure,aultman,arciniega,aguila,aceves,yepez,woodrum,wethington,weissman,veloz,trusty,troup,trammel,tarpley,stivers,steck,sprayberry,spraggins,spitler,spiers,sohn,seagraves,schiffman,rudnick,rizo,riccio,rennie,quackenbush,puma,plott,pearcy,parada,paiz,munford,moskowitz,mease,mcnary,mccusker,lozoya,longmire,loesch,lasky,kuhlmann,krieg,koziol,kowalewski,konrad,kindle,jowers,jolin,jaco,horgan,hine,hileman,hepner,heise,heady,hawkinson,hannigan,haberman,guilford,grimaldi,garton,gagliano,fruge,follett,fiscus,ferretti,ebner,easterday,eanes,dirks,dimarco,depalma,deforest,cruce,craighead,christner,candler,cadwell,burchell,buettner,brinton,brazier,brannen,brame,bova,bomar,blakeslee,belknap,bangs,balzer,athey,armes,alvis,alverson,alvardo,yeung,wheelock,westlund,wessels,volkman,threadgill,thelen,tague,symons,swinford,sturtevant,straka,stier,stagner,segarra,seawright,rutan,roux,ringler,riker,ramsdell,quattlebaum,purifoy,poulson,permenter,peloquin,pasley,pagel,osman,obannon,nygaard,newcomer,munos,motta,meadors,mcquiston,mcniel,mcmann,mccrae,mayne,matte,legault,lechner,kucera,krohn,kratzer,koopman,jeske,horrocks,hock,hibbler,hesson,hersh,harvin,halvorsen,griner,grindle,gladstone,garofalo,frampton,forbis,eddington,diorio,dingus,dewar,desalvo,curcio,creasy,cortese,cordoba,connally,cluff,cascio,capuano,canaday,calabro,bussard,brayton,borja,bigley,arnone,arguelles,acuff,zamarripa,wooton,widner,wideman,threatt,thiele,templin,teeters,synder,swint,swick,sturges,stogner,stedman,spratt,siegfried,shetler,scull,savino,sather,rothwell,rook,rone,rhee,quevedo,privett,pouliot,poche,pickel,petrillo,pellegrini,peaslee,partlow,otey,nunnery,morelock,morello,meunier,messinger,mckie,mccubbin,mccarron,lerch,lavine,laverty,lariviere,lamkin,kugler,krol,kissel,keeter,hubble,hickox,hetzel,hayner,hagy,hadlock,groh,gottschalk,goodsell,gassaway,garrard,galligan,firth,fenderson,feinstein,etienne,engleman,emrick,ellender,drews,doiron,degraw,deegan,dart,crissman,corr,cookson,coil,cleaves,charest,chapple,chaparro,castano,carpio,byer,bufford,bridgewater,bridgers,brandes,borrero,bonanno,aube,ancheta,abarca,abad,wooster,wimbush,willhite,willams,wigley,weisberg,wardlaw,vigue,vanhook,unknow,torre,tasker,tarbox,strachan,slover,shamblin,semple,schuyler,schrimsher,sayer,salzman,rubalcava,riles,reneau,reichel,rayfield,rabon,pyatt,prindle,poss,polito,plemmons,pesce,perrault,pereyra,ostrowski,nilsen,niemeyer,munsey,mundell,moncada,miceli,meader,mcmasters,mckeehan,matsumoto,marron,marden,lizarraga,lingenfelter,lewallen,langan,lamanna,kovac,kinsler,kephart,keown,kass,kammerer,jeffreys,hysell,hosmer,hardnett,hanner,guyette,greening,glazer,ginder,fromm,fluellen,finkle,fessler,essary,eisele,duren,dittmer,crochet,cosentino,cogan,coelho,cavin,carrizales,campuzano,brough,bopp,bookman,bobb,blouin,beesley,battista,bascom,bakken,badgett,arneson,anselmo,albino,ahumada,woodyard,wolters,wireman,willison,warman,waldrup,vowell,vantassel,twombly,toomer,tennison,teets,tedeschi,swanner,stutz,stelly,sheehy,schermerhorn,scala,sandidge,salters,salo,saechao,roseboro,rolle,ressler,renz,renn,redford,raposa,rainbolt,pelfrey,orndorff,oney,nolin,nimmons,nardone,myhre,morman,menjivar,mcglone,mccammon,maxon,marciano,manus,lowrance,lorenzen,lonergan,lollis,littles,lindahl,lamas,lach,kuster,krawczyk,knuth,knecht,kirkendall,keitt,keever,kantor,jarboe,hoye,houchens,holter,holsinger,hickok,helwig,helgeson,hassett,harner,hamman,hames,hadfield,goree,goldfarb,gaughan,gaudreau,gantz,gallion,frady,foti,flesher,ferrin,faught,engram,donegan,desouza,degroot,cutright,crowl,criner,coan,clinkscales,chewning,chavira,catchings,carlock,bulger,buenrostro,bramblett,brack,boulware,bookout,bitner,birt,baranowski,baisden,allmon,acklin,yoakum,wilbourn,whisler,weinberger,washer,vasques,vanzandt,vanatta,troxler,tomes,tindle,tims,throckmorton,thach,stpeter,stlaurent,stenson,spry,spitz,songer,snavely,shroyer,shortridge,shenk,sevier,seabrook,scrivner,saltzman,rosenberry,rockwood,robeson,roan,reiser,ramires,raber,posner,popham,piotrowski,pinard,peterkin,pelham,peiffer,peay,nadler,musso,millett,mestas,mcgowen,marques,marasco,manriquez,manos,mair,lipps,leiker,krumm,knorr,kinslow,kessel,kendricks,kelm,irick,ickes,hurlburt,horta,hoekstra,heuer,helmuth,heatherly,hampson,hagar,haga,greenlaw,grau,godbey,gingras,gillies,gibb,gayden,gauvin,garrow,fontanez,florio,finke,fasano,ezzell,ewers,eveland,eckenrode,duclos,drumm,dimmick,delancey,defazio,dashiell,cusack,crowther,crigger,cray,coolidge,coldiron,cleland,chalfant,cassel,camire,cabrales,broomfield,brittingham,brisson,brickey,braziel,brazell,bragdon,boulanger,boman,bohannan,beem,barre,azar,ashbaugh,armistead,almazan,adamski,zendejas,winburn,willaims,wilhoit,westberry,wentzel,wendling,visser,vanscoy,vankirk,vallee,tweedy,thornberry,sweeny,spradling,spano,smelser,shim,sechrist,schall,scaife,rugg,rothrock,roesler,riehl,ridings,render,ransdell,radke,pinero,petree,pendergast,peluso,pecoraro,pascoe,panek,oshiro,navarrette,murguia,moores,moberg,michaelis,mcwhirter,mcsweeney,mcquade,mccay,mauk,mariani,marceau,mandeville,maeda,lunde,ludlow,loeb,lindo,linderman,leveille,leith,larock,lambrecht,kulp,kinsley,kimberlin,kesterson,hoyos,helfrich,hanke,grisby,goyette,gouveia,glazier,gile,gerena,gelinas,gasaway,funches,fujimoto,flynt,fenske,fellers,fehr,eslinger,escalera,enciso,duley,dittman,dineen,diller,devault,collings,clymer,clowers,chavers,charland,castorena,castello,camargo,bunce,bullen,boyes,borchers,borchardt,birnbaum,birdsall,billman,benites,bankhead,ange,ammerman,adkison,winegar,wickman,warr,warnke,villeneuve,veasey,vassallo,vannatta,vadnais,twilley,towery,tomblin,tippett,theiss,talkington,talamantes,swart,swanger,streit,stines,stabler,spurling,sobel,sine,simmers,shippy,shiflett,shearin,sauter,sanderlin,rusch,runkle,ruckman,rorie,roesch,richert,rehm,randel,ragin,quesenberry,puentes,plyler,plotkin,paugh,oshaughnessy,ohalloran,norsworthy,niemann,nader,moorefield,mooneyham,modica,miyamoto,mickel,mebane,mckinnie,mazurek,mancilla,lukas,lovins,loughlin,lotz,lindsley,liddle,levan,lederman,leclaire,lasseter,lapoint,lamoreaux,lafollette,kubiak,kirtley,keffer,kaczmarek,housman,hiers,hibbert,herrod,hegarty,hathorn,greenhaw,grafton,govea,futch,furst,franko,forcier,foran,flickinger,fairfield,eure,emrich,embrey,edgington,ecklund,eckard,durante,deyo,delvecchio,dade,currey,creswell,cottrill,casavant,cartier,cargile,capel,cammack,calfee,burse,burruss,brust,brousseau,bridwell,braaten,borkholder,bloomquist,bjork,bartelt,amburgey,yeary,whitefield,vinyard,vanvalkenburg,twitchell,timmins,tapper,stringham,starcher,spotts,slaugh,simonsen,sheffer,sequeira,rosati,rhymes,quint,pollak,peirce,patillo,parkerson,paiva,nilson,nevin,narcisse,mitton,merriam,merced,meiners,mckain,mcelveen,mcbeth,marsden,marez,manke,mahurin,mabrey,luper,krull,hunsicker,hornbuckle,holtzclaw,hinnant,heston,hering,hemenway,hegwood,hearns,halterman,guiterrez,grote,granillo,grainger,glasco,gilder,garren,garlock,garey,fryar,fredricks,fraizer,foshee,ferrel,felty,everitt,evens,esser,elkin,eberhart,durso,duguay,driskill,doster,dewall,deveau,demps,demaio,delreal,deleo,darrah,cumberbatch,culberson,cranmer,cordle,colgan,chesley,cavallo,castellon,castelli,carreras,carnell,carlucci,bontrager,blumberg,blasingame,becton,artrip,andujar,alkire,alder,zukowski,zuckerman,wroblewski,wrigley,woodside,wigginton,westman,westgate,werts,washam,wardlow,walser,waiters,tadlock,stringfield,stimpson,stickley,standish,spurlin,spindler,speller,spaeth,sotomayor,sluder,shryock,shepardson,shatley,scannell,santistevan,rosner,resto,reinhard,rathburn,prisco,poulsen,pinney,phares,pennock,pastrana,oviedo,ostler,nauman,mulford,moise,moberly,mirabal,metoyer,metheny,mentzer,meldrum,mcinturff,mcelyea,mcdougle,massaro,lumpkins,loveday,lofgren,lirette,lesperance,lefkowitz,ledger,lauzon,lachapelle,klassen,keough,kempton,kaelin,jeffords,hsieh,hoyer,horwitz,hoeft,hennig,haskin,gourdine,golightly,girouard,fulgham,fritsch,freer,frasher,foulk,firestone,fiorentino,fedor,ensley,englehart,eells,dunphy,donahoe,dileo,dibenedetto,dabrowski,crick,coonrod,conder,coddington,chunn,chaput,cerna,carreiro,calahan,braggs,bourdon,bollman,bittle,bauder,barreras,aubuchon,anzalone,adamo,zerbe,willcox,westberg,weikel,waymire,vroman,vinci,vallejos,truesdell,troutt,trotta,tollison,toles,tichenor,symonds,surles,strayer,stgeorge,sroka,sorrentino,solares,snelson,silvestri,sikorski,shawver,schumaker,schorr,schooley,scates,satterlee,satchell,rymer,roselli,robitaille,riegel,regis,reames,provenzano,priestley,plaisance,pettey,palomares,nowakowski,monette,minyard,mclamb,mchone,mccarroll,masson,magoon,maddy,lundin,licata,leonhardt,landwehr,kircher,kinch,karpinski,johannsen,hussain,houghtaling,hoskinson,hollaway,holeman,hobgood,hiebert,goggin,geissler,gadbois,gabaldon,fleshman,flannigan,fairman,eilers,dycus,dunmire,duffield,dowler,deloatch,dehaan,deemer,clayborn,christofferso,chilson,chesney,chatfield,carron,canale,brigman,branstetter,bosse,borton,bonar,biron,barroso,arispe,zacharias,zabel,yaeger,woolford,whetzel,weakley,veatch,vandeusen,tufts,troxel,troche,traver,townsel,talarico,swilley,sterrett,stenger,speakman,sowards,sours,souders,souder,soles,sobers,snoddy,smither,shute,shoaf,shahan,schuetz,scaggs,santini,rosson,rolen,robidoux,rentas,recio,pixley,pawlowski,pawlak,paull,overbey,orear,oliveri,oldenburg,nutting,naugle,mossman,misner,milazzo,michelson,mcentee,mccullar,mccree,mcaleer,mazzone,mandell,manahan,malott,maisonet,mailloux,lumley,lowrie,louviere,lipinski,lindemann,leppert,leasure,labarge,kubik,knisely,knepp,kenworthy,kennelly,kelch,kanter,houchin,hosley,hosler,hollon,holleman,heitman,haggins,gwaltney,goulding,gorden,geraci,gathers,frison,feagin,falconer,espada,erving,erikson,eisenhauer,ebeling,durgin,dowdle,dinwiddie,delcastillo,dedrick,crimmins,covell,cournoyer,coria,cohan,cataldo,carpentier,canas,campa,brode,brashears,blaser,bicknell,bednar,barwick,ascencio,althoff,almodovar,alamo,zirkle,zabala,wolverton,winebrenner,wetherell,westlake,wegener,weddington,tuten,trosclair,tressler,theroux,teske,swinehart,swensen,sundquist,southall,socha,sizer,silverberg,shortt,shimizu,sherrard,shaeffer,scheid,scheetz,saravia,sanner,rubinstein,rozell,romer,rheaume,reisinger,randles,pullum,petrella,payan,nordin,norcross,nicoletti,nicholes,newbold,nakagawa,monteith,milstead,milliner,mellen,mccardle,liptak,leitch,latimore,larrison,landau,laborde,koval,izquierdo,hymel,hoskin,holte,hoefer,hayworth,hausman,harrill,harrel,hardt,gully,groover,grinnell,greenspan,graver,grandberry,gorrell,goldenberg,goguen,gilleland,fuson,feldmann,everly,dyess,dunnigan,downie,dolby,deatherage,cosey,cheever,celaya,caver,cashion,caplinger,cansler,byrge,bruder,breuer,breslin,brazelton,botkin,bonneau,bondurant,bohanan,bogue,bodner,boatner,blatt,bickley,belliveau,beiler,beier,beckstead,bachmann,atkin,altizer,alloway,allaire,albro,abron,zellmer,yetter,yelverton,wiens,whidden,viramontes,vanwormer,tarantino,tanksley,sumlin,strauch,strang,stice,spahn,sosebee,sigala,shrout,seamon,schrum,schneck,schantz,ruddy,romig,roehl,renninger,reding,polak,pohlman,pasillas,oldfield,oldaker,ohanlon,ogilvie,norberg,nolette,neufeld,nellis,mummert,mulvihill,mullaney,monteleone,mendonca,meisner,mcmullan,mccluney,mattis,massengill,manfredi,luedtke,lounsbury,liberatore,lamphere,laforge,jourdan,iorio,iniguez,ikeda,hubler,hodgdon,hocking,heacock,haslam,haralson,hanshaw,hannum,hallam,haden,garnes,garces,gammage,gambino,finkel,faucett,ehrhardt,eggen,dusek,durrant,dubay,dones,depasquale,delucia,degraff,decamp,davalos,cullins,conard,clouser,clontz,cifuentes,chappel,chaffins,celis,carwile,byram,bruggeman,bressler,brathwaite,brasfield,bradburn,boose,bodie,blosser,bertsch,bernardi,bernabe,bengtson,barrette,astorga,alday,albee,abrahamson,yarnell,wiltse,wiebe,waguespack,vasser,upham,turek,traxler,torain,tomaszewski,tinnin,tiner,tindell,styron,stahlman,staab,skiba,sheperd,seidl,secor,schutte,sanfilippo,ruder,rondon,rearick,procter,prochaska,pettengill,pauly,neilsen,nally,mullenax,morano,meads,mcnaughton,mcmurtry,mcmath,mckinsey,matthes,massenburg,marlar,margolis,malin,magallon,mackin,lovette,loughran,loring,longstreet,loiselle,lenihan,kunze,koepke,kerwin,kalinowski,kagan,innis,innes,holtzman,heinemann,harshman,haider,haack,grondin,grissett,greenawalt,goudy,goodlett,goldston,gokey,gardea,galaviz,gafford,gabrielson,furlow,fritch,fordyce,folger,elizalde,ehlert,eckhoff,eccleston,ealey,dubin,diemer,deschamps,delapena,decicco,debolt,cullinan,crittendon,crase,cossey,coppock,coots,colyer,cluck,chamberland,burkhead,bumpus,buchan,borman,birkholz,berardi,benda,behnke,barter,amezquita,wotring,wirtz,wingert,wiesner,whitesides,weyant,wainscott,venezia,varnell,tussey,thurlow,tabares,stiver,stell,starke,stanhope,stanek,sisler,sinnott,siciliano,shehan,selph,seager,scurlock,scranton,santucci,santangelo,saltsman,rogge,rettig,renwick,reidy,reider,redfield,premo,parente,paolucci,palmquist,ohler,netherton,mutchler,morita,mistretta,minnis,middendorf,menzel,mendosa,mendelson,meaux,mcspadden,mcquaid,mcnatt,manigault,maney,mager,lukes,lopresti,liriano,letson,lechuga,lazenby,lauria,larimore,krupp,krupa,kopec,kinchen,kifer,kerney,kerner,kennison,kegley,karcher,justis,johson,jellison,janke,huskins,holzman,hinojos,hefley,hatmaker,harte,halloway,hallenbeck,goodwyn,glaspie,geise,fullwood,fryman,frakes,fraire,farrer,enlow,engen,ellzey,eckles,earles,dunkley,drinkard,dreiling,draeger,dinardo,dills,desroches,desantiago,curlee,crumbley,critchlow,coury,courtright,coffield,cleek,charpentier,cardone,caples,cantin,buntin,bugbee,brinkerhoff,brackin,bourland,blassingame,beacham,banning,auguste,andreasen,amann,almon,alejo,adelman,abston,yerger,wymer,woodberry,windley,whiteaker,westfield,weibel,wanner,waldrep,villani,vanarsdale,utterback,updike,triggs,topete,tolar,tigner,thoms,tauber,tarvin,tally,swiney,sweatman,studebaker,stennett,starrett,stannard,stalvey,sonnenberg,smithey,sieber,sickles,shinault,segars,sanger,salmeron,rothe,rizzi,restrepo,ralls,ragusa,quiroga,papenfuss,oropeza,okane,mudge,mozingo,molinaro,mcvicker,mcgarvey,mcfalls,mccraney,matus,magers,llanos,livermore,linehan,leitner,laymon,lawing,lacourse,kwong,kollar,kneeland,kennett,kellett,kangas,janzen,hutter,huling,hofmeister,hewes,harjo,habib,guice,grullon,greggs,grayer,granier,grable,gowdy,giannini,getchell,gartman,garnica,ganey,gallimore,fetters,fergerson,farlow,fagundes,exley,esteves,enders,edenfield,easterwood,drakeford,dipasquale,desousa,deshields,deeter,dedmon,debord,daughtery,cutts,courtemanche,coursey,copple,coomes,collis,cogburn,clopton,choquette,chaidez,castrejon,calhoon,burbach,bulloch,buchman,bruhn,bohon,blough,baynes,barstow,zeman,zackery,yardley,yamashita,wulff,wilken,wiliams,wickersham,wible,whipkey,wedgeworth,walmsley,walkup,vreeland,verrill,umana,traub,swingle,summey,stroupe,stockstill,steffey,stefanski,statler,stapp,speights,solari,soderberg,shunk,shorey,shewmaker,sheilds,schiffer,schank,schaff,sagers,rochon,riser,rickett,reale,raglin,polen,plata,pitcock,percival,palen,orona,oberle,nocera,navas,nault,mullings,montejano,monreal,minick,middlebrook,meece,mcmillion,mccullen,mauck,marshburn,maillet,mahaney,magner,maclin,lucey,litteral,lippincott,leite,leaks,lamarre,jurgens,jerkins,jager,hurwitz,hughley,hotaling,horstman,hohman,hocker,hively,hipps,hessler,hermanson,hepworth,helland,hedlund,harkless,haigler,gutierez,grindstaff,glantz,giardina,gerken,gadsden,finnerty,farnum,encinas,drakes,dennie,cutlip,curtsinger,couto,cortinas,corby,chiasson,carle,carballo,brindle,borum,bober,blagg,berthiaume,beahm,batres,basnight,backes,axtell,atterberry,alvares,alegria,woodell,wojciechowski,winfree,winbush,wiest,wesner,wamsley,wakeman,verner,truex,trafton,toman,thorsen,theus,tellier,tallant,szeto,strope,stills,simkins,shuey,shaul,servin,serio,serafin,salguero,ryerson,rudder,ruark,rother,rohrbaugh,rohrbach,rohan,rogerson,risher,reeser,pryce,prokop,prins,priebe,prejean,pinheiro,petrone,petri,penson,pearlman,parikh,natoli,murakami,mullikin,mullane,motes,morningstar,mcveigh,mcgrady,mcgaughey,mccurley,marchan,manske,lusby,linde,likens,licon,leroux,lemaire,legette,laskey,laprade,laplant,kolar,kittredge,kinley,kerber,kanagy,jetton,janik,ippolito,inouye,hunsinger,howley,howery,horrell,holthaus,hiner,hilson,hilderbrand,hartzler,harnish,harada,hansford,halligan,hagedorn,gwynn,gudino,greenstein,greear,gracey,goudeau,goodner,ginsburg,gerth,gerner,fujii,frier,frenette,folmar,fleisher,fleischmann,fetzer,eisenman,earhart,dupuy,dunkelberger,drexler,dillinger,dilbeck,dewald,demby,deford,craine,chesnut,casady,carstens,carrick,carino,carignan,canchola,bushong,burman,buono,brownlow,broach,britten,brickhouse,boyden,boulton,borland,bohrer,blubaugh,bever,berggren,benevides,arocho,arends,amezcua,almendarez,zalewski,witzel,winkfield,wilhoite,vangundy,vanfleet,vanetten,vandergriff,urbanski,troiano,thibodaux,straus,stoneking,stjean,stillings,stange,speicher,speegle,smeltzer,slawson,simmonds,shuttleworth,serpa,senger,seidman,schweiger,schloss,schimmel,schechter,sayler,sabatini,ronan,rodiguez,riggleman,richins,reamer,prunty,porath,plunk,piland,philbrook,pettitt,perna,peralez,pascale,padula,oboyle,nivens,nickols,mundt,munden,montijo,mcmanis,mcgrane,mccrimmon,manzi,mangold,malick,mahar,maddock,losey,litten,leedy,leavell,ladue,krahn,kluge,junker,iversen,imler,hurtt,huizar,hubbert,howington,hollomon,holdren,hoisington,heiden,hauge,hartigan,gutirrez,griffie,greenhill,gratton,granata,gottfried,gertz,gautreaux,furry,furey,funderburg,flippen,fitzgibbon,drucker,donoghue,dildy,devers,detweiler,despres,denby,degeorge,cueto,cranston,courville,clukey,cirillo,chivers,caudillo,butera,bulluck,buckmaster,braunstein,bracamonte,bourdeau,bonnette".split(","),
16276us_tv_and_film:"you,i,to,that,it,me,what,this,know,i'm,no,have,my,don't,just,not,do,be,your,we,it's,so,but,all,well,oh,about,right,you're,get,here,out,going,like,yeah,if,can,up,want,think,that's,now,go,him,how,got,did,why,see,come,good,really,look,will,okay,back,can't,mean,tell,i'll,hey,he's,could,didn't,yes,something,because,say,take,way,little,make,need,gonna,never,we're,too,she's,i've,sure,our,sorry,what's,let,thing,maybe,down,man,very,there's,should,anything,said,much,any,even,off,please,doing,thank,give,thought,help,talk,god,still,wait,find,nothing,again,things,let's,doesn't,call,told,great,better,ever,night,away,believe,feel,everything,you've,fine,last,keep,does,put,around,stop,they're,i'd,guy,isn't,always,listen,wanted,guys,huh,those,big,lot,happened,thanks,won't,trying,kind,wrong,talking,guess,care,bad,mom,remember,getting,we'll,together,dad,leave,understand,wouldn't,actually,hear,baby,nice,father,else,stay,done,wasn't,course,might,mind,every,enough,try,hell,came,someone,you'll,whole,yourself,idea,ask,must,coming,looking,woman,room,knew,tonight,real,son,hope,went,hmm,happy,pretty,saw,girl,sir,friend,already,saying,next,job,problem,minute,thinking,haven't,heard,honey,matter,myself,couldn't,exactly,having,probably,happen,we've,hurt,boy,dead,gotta,alone,excuse,start,kill,hard,you'd,today,car,ready,without,wants,hold,wanna,yet,seen,deal,once,gone,morning,supposed,friends,head,stuff,worry,live,truth,face,forget,true,cause,soon,knows,telling,wife,who's,chance,run,move,anyone,person,bye,somebody,heart,miss,making,meet,anyway,phone,reason,damn,lost,looks,bring,case,turn,wish,tomorrow,kids,trust,check,change,anymore,least,aren't,working,makes,taking,means,brother,hate,ago,says,beautiful,gave,fact,crazy,sit,afraid,important,rest,fun,kid,word,watch,glad,everyone,sister,minutes,everybody,bit,couple,whoa,either,mrs,feeling,daughter,wow,gets,asked,break,promise,door,close,hand,easy,question,tried,far,walk,needs,mine,killed,hospital,anybody,alright,wedding,shut,able,die,perfect,stand,comes,hit,waiting,dinner,funny,husband,almost,pay,answer,cool,eyes,news,child,shouldn't,yours,moment,sleep,read,where's,sounds,sonny,pick,sometimes,bed,date,plan,hours,lose,hands,serious,shit,behind,inside,ahead,week,wonderful,fight,past,cut,quite,he'll,sick,it'll,eat,nobody,goes,save,seems,finally,lives,worried,upset,carly,met,brought,seem,sort,safe,weren't,leaving,front,shot,loved,asking,running,clear,figure,hot,felt,parents,drink,absolutely,how's,daddy,sweet,alive,sense,meant,happens,bet,blood,ain't,kidding,lie,meeting,dear,seeing,sound,fault,ten,buy,hour,speak,lady,jen,thinks,christmas,outside,hang,possible,worse,mistake,ooh,handle,spend,totally,giving,here's,marriage,realize,unless,sex,send,needed,scared,picture,talked,ass,hundred,changed,completely,explain,certainly,sign,boys,relationship,loves,hair,lying,choice,anywhere,future,weird,luck,she'll,turned,touch,kiss,crane,questions,obviously,wonder,pain,calling,somewhere,throw,straight,cold,fast,words,food,none,drive,feelings,they'll,marry,drop,cannot,dream,protect,twenty,surprise,sweetheart,poor,looked,mad,except,gun,y'know,dance,takes,appreciate,especially,situation,besides,pull,hasn't,worth,sheridan,amazing,expect,swear,piece,busy,happening,movie,we'd,catch,perhaps,step,fall,watching,kept,darling,dog,honor,moving,till,admit,problems,murder,he'd,evil,definitely,feels,honest,eye,broke,missed,longer,dollars,tired,evening,starting,entire,trip,niles,suppose,calm,imagine,fair,caught,blame,sitting,favor,apartment,terrible,clean,learn,frasier,relax,accident,wake,prove,smart,message,missing,forgot,interested,table,nbsp,mouth,pregnant,ring,careful,shall,dude,ride,figured,wear,shoot,stick,follow,angry,write,stopped,ran,standing,forgive,jail,wearing,ladies,kinda,lunch,cristian,greenlee,gotten,hoping,phoebe,thousand,ridge,paper,tough,tape,count,boyfriend,proud,agree,birthday,they've,share,offer,hurry,feet,wondering,decision,ones,finish,voice,herself,would've,mess,deserve,evidence,cute,dress,interesting,hotel,enjoy,quiet,concerned,staying,beat,sweetie,mention,clothes,fell,neither,mmm,fix,respect,prison,attention,holding,calls,surprised,bar,keeping,gift,hadn't,putting,dark,owe,ice,helping,normal,aunt,lawyer,apart,plans,jax,girlfriend,floor,whether,everything's,box,judge,upstairs,sake,mommy,possibly,worst,acting,accept,blow,strange,saved,conversation,plane,mama,yesterday,lied,quick,lately,stuck,difference,store,she'd,bought,doubt,listening,walking,cops,deep,dangerous,buffy,sleeping,chloe,rafe,join,card,crime,gentlemen,willing,window,walked,guilty,likes,fighting,difficult,soul,joke,favorite,uncle,promised,bother,seriously,cell,knowing,broken,advice,somehow,paid,losing,push,helped,killing,boss,liked,innocent,rules,learned,thirty,risk,letting,speaking,ridiculous,afternoon,apologize,nervous,charge,patient,boat,how'd,hide,detective,planning,huge,breakfast,horrible,awful,pleasure,driving,hanging,picked,sell,quit,apparently,dying,notice,congratulations,visit,could've,c'mon,letter,decide,forward,fool,showed,smell,seemed,spell,memory,pictures,slow,seconds,hungry,hearing,kitchen,ma'am,should've,realized,kick,grab,discuss,fifty,reading,idiot,suddenly,agent,destroy,bucks,shoes,peace,arms,demon,livvie,consider,papers,incredible,witch,drunk,attorney,tells,knock,ways,gives,nose,skye,turns,keeps,jealous,drug,sooner,cares,plenty,extra,outta,weekend,matters,gosh,opportunity,impossible,waste,pretend,jump,eating,proof,slept,arrest,breathe,perfectly,warm,pulled,twice,easier,goin,dating,suit,romantic,drugs,comfortable,finds,checked,divorce,begin,ourselves,closer,ruin,smile,laugh,treat,fear,what'd,otherwise,excited,mail,hiding,stole,pacey,noticed,fired,excellent,bringing,bottom,note,sudden,bathroom,honestly,sing,foot,remind,charges,witness,finding,tree,dare,hardly,that'll,steal,silly,contact,teach,shop,plus,colonel,fresh,trial,invited,roll,reach,dirty,choose,emergency,dropped,butt,credit,obvious,locked,loving,nuts,agreed,prue,goodbye,condition,guard,fuckin,grow,cake,mood,crap,crying,belong,partner,trick,pressure,dressed,taste,neck,nurse,raise,lots,carry,whoever,drinking,they'd,breaking,file,lock,wine,spot,paying,assume,asleep,turning,viki,bedroom,shower,nikolas,camera,fill,reasons,forty,bigger,nope,breath,doctors,pants,freak,movies,folks,cream,wild,truly,desk,convince,client,threw,hurts,spending,answers,shirt,chair,rough,doin,sees,ought,empty,wind,aware,dealing,pack,tight,hurting,guest,arrested,salem,confused,surgery,expecting,deacon,unfortunately,goddamn,bottle,beyond,whenever,pool,opinion,starts,jerk,secrets,falling,necessary,barely,dancing,tests,copy,cousin,ahem,twelve,tess,skin,fifteen,speech,orders,complicated,nowhere,escape,biggest,restaurant,grateful,usual,burn,address,someplace,screw,everywhere,regret,goodness,mistakes,details,responsibility,suspect,corner,hero,dumb,terrific,whoo,hole,memories,o'clock,teeth,ruined,bite,stenbeck,liar,showing,cards,desperate,search,pathetic,spoke,scare,marah,afford,settle,stayed,checking,hired,heads,concern,blew,alcazar,champagne,connection,tickets,happiness,saving,kissing,hated,personally,suggest,prepared,onto,downstairs,ticket,it'd,loose,holy,duty,convinced,throwing,kissed,legs,loud,saturday,babies,where'd,warning,miracle,carrying,blind,ugly,shopping,hates,sight,bride,coat,clearly,celebrate,brilliant,wanting,forrester,lips,custody,screwed,buying,toast,thoughts,reality,lexie,attitude,advantage,grandfather,sami,grandma,someday,roof,marrying,powerful,grown,grandmother,fake,must've,ideas,exciting,familiar,bomb,bout,harmony,schedule,capable,practically,correct,clue,forgotten,appointment,deserves,threat,bloody,lonely,shame,jacket,hook,scary,investigation,invite,shooting,lesson,criminal,victim,funeral,considering,burning,strength,harder,sisters,pushed,shock,pushing,heat,chocolate,miserable,corinthos,nightmare,brings,zander,crash,chances,sending,recognize,healthy,boring,feed,engaged,headed,treated,knife,drag,badly,hire,paint,pardon,behavior,closet,warn,gorgeous,milk,survive,ends,dump,rent,remembered,thanksgiving,rain,revenge,prefer,spare,pray,disappeared,aside,statement,sometime,meat,fantastic,breathing,laughing,stood,affair,ours,depends,protecting,jury,brave,fingers,murdered,explanation,picking,blah,stronger,handsome,unbelievable,anytime,shake,oakdale,wherever,pulling,facts,waited,lousy,circumstances,disappointed,weak,trusted,license,nothin,trash,understanding,slip,sounded,awake,friendship,stomach,weapon,threatened,mystery,vegas,understood,basically,switch,frankly,cheap,lifetime,deny,clock,garbage,why'd,tear,ears,indeed,changing,singing,tiny,decent,avoid,messed,filled,touched,disappear,exact,pills,kicked,harm,fortune,pretending,insurance,fancy,drove,cared,belongs,nights,lorelai,lift,timing,guarantee,chest,woke,burned,watched,heading,selfish,drinks,doll,committed,elevator,freeze,noise,wasting,ceremony,uncomfortable,staring,files,bike,stress,permission,thrown,possibility,borrow,fabulous,doors,screaming,bone,xander,what're,meal,apology,anger,honeymoon,bail,parking,fixed,wash,stolen,sensitive,stealing,photo,chose,lets,comfort,worrying,pocket,mateo,bleeding,shoulder,ignore,talent,tied,garage,dies,demons,dumped,witches,rude,crack,bothering,radar,soft,meantime,gimme,kinds,fate,concentrate,throat,prom,messages,intend,ashamed,somethin,manage,guilt,interrupt,guts,tongue,shoe,basement,sentence,purse,glasses,cabin,universe,repeat,mirror,wound,travers,tall,engagement,therapy,emotional,jeez,decisions,soup,thrilled,stake,chef,moves,extremely,moments,expensive,counting,shots,kidnapped,cleaning,shift,plate,impressed,smells,trapped,aidan,knocked,charming,attractive,argue,puts,whip,embarrassed,package,hitting,bust,stairs,alarm,pure,nail,nerve,incredibly,walks,dirt,stamp,terribly,friendly,damned,jobs,suffering,disgusting,stopping,deliver,riding,helps,disaster,bars,crossed,trap,talks,eggs,chick,threatening,spoken,introduce,confession,embarrassing,bags,impression,gate,reputation,presents,chat,suffer,argument,talkin,crowd,homework,coincidence,cancel,pride,solve,hopefully,pounds,pine,mate,illegal,generous,outfit,maid,bath,punch,freaked,begging,recall,enjoying,prepare,wheel,defend,signs,painful,yourselves,maris,that'd,suspicious,cooking,button,warned,sixty,pity,yelling,awhile,confidence,offering,pleased,panic,hers,gettin,refuse,grandpa,testify,choices,cruel,mental,gentleman,coma,cutting,proteus,guests,expert,benefit,faces,jumped,toilet,sneak,halloween,privacy,smoking,reminds,twins,swing,solid,options,commitment,crush,ambulance,wallet,gang,eleven,option,laundry,assure,stays,skip,fail,discussion,clinic,betrayed,sticking,bored,mansion,soda,sheriff,suite,handled,busted,load,happier,studying,romance,procedure,commit,assignment,suicide,minds,swim,yell,llanview,chasing,proper,believes,humor,hopes,lawyers,giant,latest,escaped,parent,tricks,insist,dropping,cheer,medication,flesh,routine,sandwich,handed,false,beating,warrant,awfully,odds,treating,thin,suggesting,fever,sweat,silent,clever,sweater,mall,sharing,assuming,judgment,goodnight,divorced,surely,steps,confess,math,listened,comin,answered,vulnerable,bless,dreaming,chip,zero,pissed,nate,kills,tears,knees,chill,brains,unusual,packed,dreamed,cure,lookin,grave,cheating,breaks,locker,gifts,awkward,thursday,joking,reasonable,dozen,curse,quartermaine,millions,dessert,rolling,detail,alien,delicious,closing,vampires,wore,tail,secure,salad,murderer,spit,offense,dust,conscience,bread,answering,lame,invitation,grief,smiling,pregnancy,prisoner,delivery,guards,virus,shrink,freezing,wreck,massimo,wire,technically,blown,anxious,cave,holidays,cleared,wishes,caring,candles,bound,charm,pulse,jumping,jokes,boom,occasion,silence,nonsense,frightened,slipped,dimera,blowing,relationships,kidnapping,spin,tool,roxy,packing,blaming,wrap,obsessed,fruit,torture,personality,there'll,fairy,necessarily,seventy,print,motel,underwear,grams,exhausted,believing,freaking,carefully,trace,touching,messing,recovery,intention,consequences,belt,sacrifice,courage,enjoyed,attracted,remove,testimony,intense,heal,defending,unfair,relieved,loyal,slowly,buzz,alcohol,surprises,psychiatrist,plain,attic,who'd,uniform,terrified,cleaned,zach,threaten,fella,enemies,satisfied,imagination,hooked,headache,forgetting,counselor,andie,acted,badge,naturally,frozen,sakes,appropriate,trunk,dunno,costume,sixteen,impressive,kicking,junk,grabbed,understands,describe,clients,owns,affect,witnesses,starving,instincts,happily,discussing,deserved,strangers,surveillance,admire,questioning,dragged,barn,deeply,wrapped,wasted,tense,hoped,fellas,roommate,mortal,fascinating,stops,arrangements,agenda,literally,propose,honesty,underneath,sauce,promises,lecture,eighty,torn,shocked,backup,differently,ninety,deck,biological,pheebs,ease,creep,waitress,telephone,ripped,raising,scratch,rings,prints,thee,arguing,ephram,asks,oops,diner,annoying,taggert,sergeant,blast,towel,clown,habit,creature,bermuda,snap,react,paranoid,handling,eaten,therapist,comment,sink,reporter,nurses,beats,priority,interrupting,warehouse,loyalty,inspector,pleasant,excuses,threats,guessing,tend,praying,motive,unconscious,mysterious,unhappy,tone,switched,rappaport,sookie,neighbor,loaded,swore,piss,balance,toss,misery,thief,squeeze,lobby,goa'uld,geez,exercise,forth,booked,sandburg,poker,eighteen,d'you,bury,everyday,digging,creepy,wondered,liver,hmmm,magical,fits,discussed,moral,helpful,searching,flew,depressed,aisle,cris,amen,vows,neighbors,darn,cents,arrange,annulment,useless,adventure,resist,fourteen,celebrating,inch,debt,violent,sand,teal'c,celebration,reminded,phones,paperwork,emotions,stubborn,pound,tension,stroke,steady,overnight,chips,beef,suits,boxes,cassadine,collect,tragedy,spoil,realm,wipe,surgeon,stretch,stepped,nephew,neat,limo,confident,perspective,climb,punishment,finest,springfield,hint,furniture,blanket,twist,proceed,fries,worries,niece,gloves,soap,signature,disappoint,crawl,convicted,flip,counsel,doubts,crimes,accusing,shaking,remembering,hallway,halfway,bothered,madam,gather,cameras,blackmail,symptoms,rope,ordinary,imagined,cigarette,supportive,explosion,trauma,ouch,furious,cheat,avoiding,whew,thick,oooh,boarding,approve,urgent,shhh,misunderstanding,drawer,phony,interfere,catching,bargain,tragic,respond,punish,penthouse,thou,rach,ohhh,insult,bugs,beside,begged,absolute,strictly,socks,senses,sneaking,reward,polite,checks,tale,physically,instructions,fooled,blows,tabby,bitter,adorable,y'all,tested,suggestion,jewelry,alike,jacks,distracted,shelter,lessons,constable,circus,audition,tune,shoulders,mask,helpless,feeding,explains,sucked,robbery,objection,behave,valuable,shadows,courtroom,confusing,talented,smarter,mistaken,customer,bizarre,scaring,motherfucker,alert,vecchio,reverend,foolish,compliment,bastards,worker,wheelchair,protective,gentle,reverse,picnic,knee,cage,wives,wednesday,voices,toes,stink,scares,pour,cheated,slide,ruining,filling,exit,cottage,upside,proves,parked,diary,complaining,confessed,pipe,merely,massage,chop,spill,prayer,betray,waiter,scam,rats,fraud,brush,tables,sympathy,pill,filthy,seventeen,employee,bracelet,pays,fairly,deeper,arrive,tracking,spite,shed,recommend,oughta,nanny,menu,diet,corn,roses,patch,dime,devastated,subtle,bullets,beans,pile,confirm,strings,parade,borrowed,toys,straighten,steak,premonition,planted,honored,exam,convenient,traveling,laying,insisted,dish,aitoro,kindly,grandson,donor,temper,teenager,proven,mothers,denial,backwards,tent,swell,noon,happiest,drives,thinkin,spirits,potion,holes,fence,whatsoever,rehearsal,overheard,lemme,hostage,bench,tryin,taxi,shove,moron,impress,needle,intelligent,instant,disagree,stinks,rianna,recover,groom,gesture,constantly,bartender,suspects,sealed,legally,hears,dresses,sheet,psychic,teenage,knocking,judging,accidentally,waking,rumor,manners,homeless,hollow,desperately,tapes,referring,item,genoa,gear,majesty,cried,tons,spells,instinct,quote,motorcycle,convincing,fashioned,aids,accomplished,grip,bump,upsetting,needing,invisible,forgiveness,feds,compare,bothers,tooth,inviting,earn,compromise,cocktail,tramp,jabot,intimate,dignity,dealt,souls,informed,gods,dressing,cigarettes,alistair,leak,fond,corky,seduce,liquor,fingerprints,enchantment,butters,stuffed,stavros,emotionally,transplant,tips,oxygen,nicely,lunatic,drill,complain,announcement,unfortunate,slap,prayers,plug,opens,oath,o'neill,mutual,yacht,remembers,fried,extraordinary,bait,warton,sworn,stare,safely,reunion,burst,might've,dive,aboard,expose,buddies,trusting,booze,sweep,sore,scudder,properly,parole,ditch,canceled,speaks,glow,wears,thirsty,skull,ringing,dorm,dining,bend,unexpected,pancakes,harsh,flattered,ahhh,troubles,fights,favourite,eats,rage,undercover,spoiled,sloane,shine,destroying,deliberately,conspiracy,thoughtful,sandwiches,plates,nails,miracles,fridge,drank,contrary,beloved,allergic,washed,stalking,solved,sack,misses,forgiven,bent,maciver,involve,dragging,cooked,pointing,foul,dull,beneath,heels,faking,deaf,stunt,jealousy,hopeless,fears,cuts,scenario,necklace,crashed,accuse,restraining,homicide,helicopter,firing,safer,auction,videotape,tore,reservations,pops,appetite,wounds,vanquish,ironic,fathers,excitement,anyhow,tearing,sends,rape,laughed,belly,dealer,cooperate,accomplish,wakes,spotted,sorts,reservation,ashes,tastes,supposedly,loft,intentions,integrity,wished,towels,suspected,investigating,inappropriate,lipstick,lawn,compassion,cafeteria,scarf,precisely,obsession,loses,lighten,infection,granddaughter,explode,balcony,this'll,spying,publicity,depend,cracked,conscious,ally,absurd,vicious,invented,forbid,directions,defendant,bare,announce,screwing,salesman,robbed,leap,lakeview,insanity,reveal,possibilities,kidnap,gown,chairs,wishing,setup,punished,criminals,regrets,raped,quarters,lamp,dentist,anyways,anonymous,semester,risks,owes,lungs,explaining,delicate,tricked,eager,doomed,adoption,stab,sickness,scum,floating,envelope,vault,sorel,pretended,potatoes,plea,photograph,payback,misunderstood,kiddo,healing,cascade,capeside,stabbed,remarkable,brat,privilege,passionate,nerves,lawsuit,kidney,disturbed,cozy,tire,shirts,oven,ordering,delay,risky,monsters,honorable,grounded,closest,breakdown,bald,abandon,scar,collar,worthless,sucking,enormous,disturbing,disturb,distract,deals,conclusions,vodka,dishes,crawling,briefcase,wiped,whistle,sits,roast,rented,pigs,flirting,deposit,bottles,topic,riot,overreacting,logical,hostile,embarrass,casual,beacon,amusing,altar,claus,survival,skirt,shave,porch,ghosts,favors,drops,dizzy,chili,advise,strikes,rehab,photographer,peaceful,leery,heavens,fortunately,fooling,expectations,cigar,weakness,ranch,practicing,examine,cranes,bribe,sail,prescription,hush,fragile,forensics,expense,drugged,cows,bells,visitor,suitcase,sorta,scan,manticore,insecure,imagining,hardest,clerk,wrist,what'll,starters,silk,pump,pale,nicer,haul,flies,boot,thumb,there'd,how're,elders,quietly,pulls,idiots,erase,denying,ankle,amnesia,accepting,heartbeat,devane,confront,minus,legitimate,fixing,arrogant,tuna,supper,slightest,sins,sayin,recipe,pier,paternity,humiliating,genuine,snack,rational,minded,guessed,weddings,tumor,humiliated,aspirin,spray,picks,eyed,drowning,contacts,ritual,perfume,hiring,hating,docks,creatures,visions,thanking,thankful,sock,nineteen,fork,throws,teenagers,stressed,slice,rolls,plead,ladder,kicks,detectives,assured,tellin,shallow,responsibilities,repay,howdy,girlfriends,deadly,comforting,ceiling,verdict,insensitive,spilled,respected,messy,interrupted,halliwell,blond,bleed,wardrobe,takin,murders,backs,underestimate,justify,harmless,frustrated,fold,enzo,communicate,bugging,arson,whack,salary,rumors,obligation,liking,dearest,congratulate,vengeance,rack,puzzle,fires,courtesy,caller,blamed,tops,quiz,prep,curiosity,circles,barbecue,sunnydale,spinning,psychotic,cough,accusations,resent,laughs,freshman,envy,drown,bartlet,asses,sofa,poster,highness,dock,apologies,theirs,stat,stall,realizes,psych,mmmm,fools,understandable,treats,succeed,stir,relaxed,makin,gratitude,faithful,accent,witter,wandering,locate,inevitable,gretel,deed,crushed,controlling,smelled,robe,gossip,gambling,cosmetics,accidents,surprising,stiff,sincere,rushed,refrigerator,preparing,nightmares,mijo,ignoring,hunch,fireworks,drowned,brass,whispering,sophisticated,luggage,hike,explore,emotion,crashing,contacted,complications,shining,rolled,righteous,reconsider,goody,geek,frightening,ethics,creeps,courthouse,camping,affection,smythe,haircut,essay,baked,apologized,vibe,respects,receipt,mami,hats,destructive,adore,adopt,tracked,shorts,reminding,dough,creations,cabot,barrel,snuck,slight,reporters,pressing,magnificent,madame,lazy,glorious,fiancee,bits,visitation,sane,kindness,shoulda,rescued,mattress,lounge,lifted,importantly,glove,enterprises,disappointment,condo,beings,admitting,yelled,waving,spoon,screech,satisfaction,reads,nailed,worm,tick,resting,marvelous,fuss,cortlandt,chased,pockets,luckily,lilith,filing,conversations,consideration,consciousness,worlds,innocence,forehead,aggressive,trailer,slam,quitting,inform,delighted,daylight,danced,confidential,aunts,washing,tossed,spectra,marrow,lined,implying,hatred,grill,corpse,clues,sober,offended,morgue,infected,humanity,distraction,cart,wired,violation,promising,harassment,glue,d'angelo,cursed,brutal,warlocks,wagon,unpleasant,proving,priorities,mustn't,lease,flame,disappearance,depressing,thrill,sitter,ribs,flush,earrings,deadline,corporal,collapsed,update,snapped,smack,melt,figuring,delusional,coulda,burnt,tender,sperm,realise,pork,popped,interrogation,esteem,choosing,undo,pres,prayed,plague,manipulate,insulting,detention,delightful,coffeehouse,betrayal,apologizing,adjust,wrecked,wont,whipped,rides,reminder,monsieur,faint,bake,distress,correctly,complaint,blocked,tortured,risking,pointless,handing,dumping,cups,alibi,struggling,shiny,risked,mummy,mint,hose,hobby,fortunate,fleischman,fitting,curtain,counseling,rode,puppet,modeling,memo,irresponsible,humiliation,hiya,freakin,felony,choke,blackmailing,appreciated,tabloid,suspicion,recovering,pledge,panicked,nursery,louder,jeans,investigator,homecoming,frustrating,buys,busting,buff,sleeve,irony,dope,declare,autopsy,workin,torch,prick,limb,hysterical,goddamnit,fetch,dimension,crowded,clip,climbing,bonding,woah,trusts,negotiate,lethal,iced,fantasies,deeds,bore,babysitter,questioned,outrageous,kiriakis,insulted,grudge,driveway,deserted,definite,beep,wires,suggestions,searched,owed,lend,drunken,demanding,costanza,conviction,bumped,weigh,touches,tempted,shout,resolve,relate,poisoned,meals,invitations,haunted,bogus,autograph,affects,tolerate,stepping,spontaneous,sleeps,probation,manny,fist,spectacular,hostages,heroin,havin,habits,encouraging,consult,burgers,boyfriends,bailed,baggage,watches,troubled,torturing,teasing,sweetest,qualities,postpone,overwhelmed,malkovich,impulse,classy,charging,amazed,policeman,hypocrite,humiliate,hideous,d'ya,costumes,bluffing,betting,bein,bedtime,alcoholic,vegetable,tray,suspicions,spreading,splendid,shrimp,shouting,pressed,nooo,grieving,gladly,fling,eliminate,cereal,aaah,sonofabitch,paralyzed,lotta,locks,guaranteed,dummy,despise,dental,briefing,bluff,batteries,whatta,sounding,servants,presume,handwriting,fainted,dried,allright,acknowledge,whacked,toxic,reliable,quicker,overwhelming,lining,harassing,fatal,endless,dolls,convict,whatcha,unlikely,shutting,positively,overcome,goddam,essence,dose,diagnosis,cured,bully,ahold,yearbook,tempting,shelf,prosecution,pouring,possessed,greedy,wonders,thorough,spine,rath,psychiatric,meaningless,latte,jammed,ignored,fiance,evidently,contempt,compromised,cans,weekends,urge,theft,suing,shipment,scissors,responding,proposition,noises,matching,hormones,hail,grandchildren,gently,smashed,sexually,sentimental,nicest,manipulated,intern,handcuffs,framed,errands,entertaining,crib,carriage,barge,spends,slipping,seated,rubbing,rely,reject,recommendation,reckon,headaches,float,embrace,corners,whining,sweating,skipped,mountie,motives,listens,cristobel,cleaner,cheerleader,balsom,unnecessary,stunning,scent,quartermaines,pose,montega,loosen,info,hottest,haunt,gracious,forgiving,errand,cakes,blames,abortion,sketch,shifts,plotting,perimeter,pals,mere,mattered,lonigan,interference,eyewitness,enthusiasm,diapers,strongest,shaken,punched,portal,catches,backyard,terrorists,sabotage,organs,needy,cuff,civilization,woof,who'll,prank,obnoxious,mates,hereby,gabby,faked,cellar,whitelighter,void,strangle,sour,muffins,interfering,demonic,clearing,boutique,barrington,terrace,smoked,righty,quack,petey,pact,knot,ketchup,disappearing,cordy,uptight,ticking,terrifying,tease,swamp,secretly,rejection,reflection,realizing,rays,mentally,marone,doubted,deception,congressman,cheesy,toto,stalling,scoop,ribbon,immune,expects,destined,bets,bathing,appreciation,accomplice,wander,shoved,sewer,scroll,retire,lasts,fugitive,freezer,discount,cranky,crank,clearance,bodyguard,anxiety,accountant,whoops,volunteered,talents,stinking,remotely,garlic,decency,cord,beds,altogether,uniforms,tremendous,popping,outa,observe,lung,hangs,feelin,dudes,donation,disguise,curb,bites,antique,toothbrush,realistic,predict,landlord,hourglass,hesitate,consolation,babbling,tipped,stranded,smartest,repeating,puke,psst,paycheck,overreacted,macho,juvenile,grocery,freshen,disposal,cuffs,caffeine,vanished,unfinished,ripping,pinch,flattering,expenses,dinners,colleague,ciao,belthazor,attorneys,woulda,whereabouts,waitin,truce,tripped,tasted,steer,poisoning,manipulative,immature,husbands,heel,granddad,delivering,condoms,addict,trashed,raining,pasta,needles,leaning,detector,coolest,batch,appointments,almighty,vegetables,spark,perfection,pains,momma,mole,meow,hairs,getaway,cracking,compliments,behold,verge,tougher,timer,tapped,taped,specialty,snooping,shoots,rendezvous,pentagon,leverage,jeopardize,janitor,grandparents,forbidden,clueless,bidding,ungrateful,unacceptable,tutor,serum,scuse,pajamas,mouths,lure,irrational,doom,cries,beautifully,arresting,approaching,traitor,sympathetic,smug,smash,rental,prostitute,premonitions,jumps,inventory,darlin,committing,banging,asap,worms,violated,vent,traumatic,traced,sweaty,shaft,overboard,insight,healed,grasp,experiencing,crappy,crab,chunk,awww,stain,shack,reacted,pronounce,poured,moms,marriages,jabez,handful,flipped,fireplace,embarrassment,disappears,concussion,bruises,brakes,twisting,swept,summon,splitting,sloppy,settling,reschedule,notch,hooray,grabbing,exquisite,disrespect,thornhart,straw,slapped,shipped,shattered,ruthless,refill,payroll,numb,mourning,manly,hunk,entertain,drift,dreadful,doorstep,confirmation,chops,appreciates,vague,tires,stressful,stashed,stash,sensed,preoccupied,predictable,noticing,madly,gunshot,dozens,dork,confuse,cleaners,charade,chalk,cappuccino,bouquet,amulet,addiction,who've,warming,unlock,satisfy,sacrificed,relaxing,lone,blocking,blend,blankets,addicted,yuck,hunger,hamburger,greeting,greet,gravy,gram,dreamt,dice,caution,backpack,agreeing,whale,taller,supervisor,sacrifices,phew,ounce,irrelevant,gran,felon,favorites,farther,fade,erased,easiest,convenience,compassionate,cane,backstage,agony,adores,veins,tweek,thieves,surgical,strangely,stetson,recital,proposing,productive,meaningful,immunity,hassle,goddamned,frighten,dearly,cease,ambition,wage,unstable,salvage,richer,refusing,raging,pumping,pressuring,mortals,lowlife,intimidated,intentionally,inspire,forgave,devotion,despicable,deciding,dash,comfy,breach,bark,aaaah,switching,swallowed,stove,screamed,scars,russians,pounding,poof,pipes,pawn,legit,invest,farewell,curtains,civilized,caviar,boost,token,superstition,supernatural,sadness,recorder,psyched,motivated,microwave,hallelujah,fraternity,dryer,cocoa,chewing,acceptable,unbelievably,smiled,smelling,simpler,respectable,remarks,khasinau,indication,gutter,grabs,fulfill,flashlight,ellenor,blooded,blink,blessings,beware,uhhh,turf,swings,slips,shovel,shocking,puff,mirrors,locking,heartless,fras,childish,cardiac,utterly,tuscany,ticked,stunned,statesville,sadly,purely,kiddin,jerks,hitch,flirt,fare,equals,dismiss,christening,casket,c'mere,breakup,biting,antibiotics,accusation,abducted,witchcraft,thread,runnin,punching,paramedics,newest,murdering,masks,lawndale,initials,grampa,choking,charms,careless,bushes,buns,bummed,shred,saves,saddle,rethink,regards,precinct,persuade,meds,manipulating,llanfair,leash,hearted,guarantees,fucks,disgrace,deposition,bookstore,boil,vitals,veil,trespassing,sidewalk,sensible,punishing,overtime,optimistic,obsessing,notify,mornin,jeopardy,jaffa,injection,hilarious,desires,confide,cautious,yada,where're,vindictive,vial,teeny,stroll,sittin,scrub,rebuild,posters,ordeal,nuns,intimacy,inheritance,exploded,donate,distracting,despair,crackers,wildwind,virtue,thoroughly,tails,spicy,sketches,sights,sheer,shaving,seize,scarecrow,refreshing,prosecute,platter,napkin,misplaced,merchandise,loony,jinx,heroic,frankenstein,ambitious,syrup,solitary,resemblance,reacting,premature,lavery,flashes,cheque,awright,acquainted,wrapping,untie,salute,realised,priceless,partying,lightly,lifting,kasnoff,insisting,glowing,generator,explosives,cutie,confronted,buts,blouse,ballistic,antidote,analyze,allowance,adjourned,unto,understatement,tucked,touchy,subconscious,screws,sarge,roommates,rambaldi,offend,nerd,knives,irresistible,incapable,hostility,goddammit,fuse,frat,curfew,blackmailed,walkin,starve,sleigh,sarcastic,recess,rebound,pinned,parlor,outfits,livin,heartache,haired,fundraiser,doorman,discreet,dilucca,cracks,considerate,climbed,catering,apophis,zoey,urine,strung,stitches,sordid,sark,protector,phoned,pets,hostess,flaw,flavor,deveraux,consumed,confidentiality,bourbon,straightened,specials,spaghetti,prettier,powerless,playin,playground,paranoia,instantly,havoc,exaggerating,eavesdropping,doughnuts,diversion,deepest,cutest,comb,bela,behaving,anyplace,accessory,workout,translate,stuffing,speeding,slime,royalty,polls,marital,lurking,lottery,imaginary,greetings,fairwinds,elegant,elbow,credibility,credentials,claws,chopped,bridal,bedside,babysitting,witty,unforgivable,underworld,tempt,tabs,sophomore,selfless,secrecy,restless,okey,movin,metaphor,messes,meltdown,lecter,incoming,gasoline,diefenbaker,buckle,admired,adjustment,warmth,throats,seduced,queer,parenting,noses,luckiest,graveyard,gifted,footsteps,dimeras,cynical,wedded,verbal,unpredictable,tuned,stoop,slides,sinking,rigged,plumbing,lingerie,hankey,greed,everwood,elope,dresser,chauffeur,bulletin,bugged,bouncing,temptation,strangest,slammed,sarcasm,pending,packages,orderly,obsessive,murderers,meteor,inconvenience,glimpse,froze,execute,courageous,consulate,closes,bosses,bees,amends,wuss,wolfram,wacky,unemployed,testifying,syringe,stew,startled,sorrow,sleazy,shaky,screams,rsquo,remark,poke,nutty,mentioning,mend,inspiring,impulsive,housekeeper,foam,fingernails,conditioning,baking,whine,thug,starved,sniffing,sedative,programmed,picket,paged,hound,homosexual,homo,hips,forgets,flipping,flea,flatter,dwell,dumpster,choo,assignments,ants,vile,unreasonable,tossing,thanked,steals,souvenir,scratched,psychopath,outs,obstruction,obey,lump,insists,harass,gloat,filth,edgy,didn,coroner,confessing,bruise,betraying,bailing,appealing,adebisi,wrath,wandered,waist,vain,traps,stepfather,poking,obligated,heavenly,dilemma,crazed,contagious,coaster,cheering,bundle,vomit,thingy,speeches,robbing,raft,pumped,pillows,peep,packs,neglected,m'kay,loneliness,intrude,helluva,gardener,forresters,drooling,betcha,vase,supermarket,squat,spitting,rhyme,relieve,receipts,racket,pictured,pause,overdue,motivation,morgendorffer,kidnapper,insect,horns,feminine,eyeballs,dumps,disappointing,crock,convertible,claw,clamp,canned,cambias,bathtub,avanya,artery,weep,warmer,suspense,summoned,spiders,reiber,raving,pushy,postponed,ohhhh,noooo,mold,laughter,incompetent,hugging,groceries,drip,communicating,auntie,adios,wraps,wiser,willingly,weirdest,timmih,thinner,swelling,swat,steroids,sensitivity,scrape,rehearse,prophecy,ledge,justified,insults,hateful,handles,doorway,chatting,buyer,buckaroo,bedrooms,askin,ammo,tutoring,subpoena,scratching,privileges,pager,mart,intriguing,idiotic,grape,enlighten,corrupt,brunch,bridesmaid,barking,applause,acquaintance,wretched,superficial,soak,smoothly,sensing,restraint,posing,pleading,payoff,oprah,nemo,morals,loaf,jumpy,ignorant,herbal,hangin,germs,generosity,flashing,doughnut,clumsy,chocolates,captive,behaved,apologise,vanity,stumbled,preview,poisonous,perjury,parental,onboard,mugged,minding,linen,knots,interviewing,humour,grind,greasy,goons,drastic,coop,comparing,cocky,clearer,bruised,brag,bind,worthwhile,whoop,vanquishing,tabloids,sprung,spotlight,sentencing,racist,provoke,pining,overly,locket,imply,impatient,hovering,hotter,fest,endure,dots,doren,debts,crawled,chained,brit,breaths,weirdo,warmed,wand,troubling,tok'ra,strapped,soaked,skipping,scrambled,rattle,profound,musta,mocking,misunderstand,limousine,kacl,hustle,forensic,enthusiastic,duct,drawers,devastating,conquer,clarify,chores,cheerleaders,cheaper,callin,blushing,barging,abused,yoga,wrecking,wits,waffles,virginity,vibes,uninvited,unfaithful,teller,strangled,scheming,ropes,rescuing,rave,postcard,o'reily,morphine,lotion,lads,kidneys,judgement,itch,indefinitely,grenade,glamorous,genetically,freud,discretion,delusions,crate,competent,bakery,argh,ahhhh,wedge,wager,unfit,tripping,torment,superhero,stirring,spinal,sorority,seminar,scenery,rabble,pneumonia,perks,override,ooooh,mija,manslaughter,mailed,lime,lettuce,intimidate,guarded,grieve,grad,frustration,doorbell,chinatown,authentic,arraignment,annulled,allergies,wanta,verify,vegetarian,tighter,telegram,stalk,spared,shoo,satisfying,saddam,requesting,pens,overprotective,obstacles,notified,nasedo,grandchild,genuinely,flushed,fluids,floss,escaping,ditched,cramp,corny,bunk,bitten,billions,bankrupt,yikes,wrists,ultrasound,ultimatum,thirst,sniff,shakes,salsa,retrieve,reassuring,pumps,neurotic,negotiating,needn't,monitors,millionaire,lydecker,limp,incriminating,hatchet,gracias,gordie,fills,feeds,doubting,decaf,biopsy,whiz,voluntarily,ventilator,unpack,unload,toad,spooked,snitch,schillinger,reassure,persuasive,mystical,mysteries,matrimony,mails,jock,headline,explanations,dispatch,curly,cupid,condolences,comrade,cassadines,bulb,bragging,awaits,assaulted,ambush,adolescent,abort,yank,whit,vaguely,undermine,tying,swamped,stabbing,slippers,slash,sincerely,sigh,setback,secondly,rotting,precaution,pcpd,melting,liaison,hots,hooking,headlines,haha,ganz,fury,felicity,fangs,encouragement,earring,dreidel,dory,donut,dictate,decorating,cocktails,bumps,blueberry,believable,backfired,backfire,apron,adjusting,vous,vouch,vitamins,ummm,tattoos,slimy,sibling,shhhh,renting,peculiar,parasite,paddington,marries,mailbox,magically,lovebirds,knocks,informant,exits,drazen,distractions,disconnected,dinosaurs,dashwood,crooked,conveniently,wink,warped,underestimated,tacky,shoving,seizure,reset,pushes,opener,mornings,mash,invent,indulge,horribly,hallucinating,festive,eyebrows,enjoys,desperation,dealers,darkest,daph,boragora,belts,bagel,authorization,auditions,agitated,wishful,wimp,vanish,unbearable,tonic,suffice,suction,slaying,safest,rocking,relive,puttin,prettiest,noisy,newlyweds,nauseous,misguided,mildly,midst,liable,judgmental,indy,hunted,givin,fascinated,elephants,dislike,deluded,decorate,crummy,contractions,carve,bottled,bonded,bahamas,unavailable,twenties,trustworthy,surgeons,stupidity,skies,remorse,preferably,pies,nausea,napkins,mule,mourn,melted,mashed,inherit,greatness,golly,excused,dumbo,drifting,delirious,damaging,cubicle,compelled,comm,chooses,checkup,boredom,bandages,alarms,windshield,who're,whaddya,transparent,surprisingly,sunglasses,slit,roar,reade,prognosis,probe,pitiful,persistent,peas,nosy,nagging,morons,masterpiece,martinis,limbo,liars,irritating,inclined,hump,hoynes,fiasco,eatin,cubans,concentrating,colorful,clam,cider,brochure,barto,bargaining,wiggle,welcoming,weighing,vanquished,stains,sooo,snacks,smear,sire,resentment,psychologist,pint,overhear,morality,landingham,kisser,hoot,holling,handshake,grilled,formality,elevators,depths,confirms,boathouse,accidental,westbridge,wacko,ulterior,thugs,thighs,tangled,stirred,snag,sling,sleaze,rumour,ripe,remarried,puddle,pins,perceptive,miraculous,longing,lockup,librarian,impressions,immoral,hypothetically,guarding,gourmet,gabe,faxed,extortion,downright,digest,cranberry,bygones,buzzing,burying,bikes,weary,taping,takeout,sweeping,stepmother,stale,senor,seaborn,pros,pepperoni,newborn,ludicrous,injected,geeks,forged,faults,drue,dire,dief,desi,deceiving,caterer,calmed,budge,ankles,vending,typing,tribbiani,there're,squared,snowing,shades,sexist,rewrite,regretted,raises,picky,orphan,mural,misjudged,miscarriage,memorize,leaking,jitters,invade,interruption,illegally,handicapped,glitch,gittes,finer,distraught,dispose,dishonest,digs,dads,cruelty,circling,canceling,butterflies,belongings,barbrady,amusement,alias,zombies,where've,unborn,swearing,stables,squeezed,sensational,resisting,radioactive,questionable,privileged,portofino,owning,overlook,orson,oddly,interrogate,imperative,impeccable,hurtful,hors,heap,graders,glance,disgust,devious,destruct,crazier,countdown,chump,cheeseburger,burglar,berries,ballroom,assumptions,annoyed,allergy,admirer,admirable,activate,underpants,twit,tack,strokes,stool,sham,scrap,retarded,resourceful,remarkably,refresh,pressured,precautions,pointy,nightclub,mustache,maui,lace,hunh,hubby,flare,dont,dokey,dangerously,crushing,clinging,choked,chem,cheerleading,checkbook,cashmere,calmly,blush,believer,amazingly,alas,what've,toilets,tacos,stairwell,spirited,sewing,rubbed,punches,protects,nuisance,motherfuckers,mingle,kynaston,knack,kinkle,impose,gullible,godmother,funniest,friggin,folding,fashions,eater,dysfunctional,drool,dripping,ditto,cruising,criticize,conceive,clone,cedars,caliber,brighter,blinded,birthdays,banquet,anticipate,annoy,whim,whichever,volatile,veto,vested,shroud,rests,reindeer,quarantine,pleases,painless,orphans,orphanage,offence,obliged,negotiation,narcotics,mistletoe,meddling,manifest,lookit,lilah,intrigued,injustice,homicidal,gigantic,exposing,elves,disturbance,disastrous,depended,demented,correction,cooped,cheerful,buyers,brownies,beverage,basics,arvin,weighs,upsets,unethical,swollen,sweaters,stupidest,sensation,scalpel,props,prescribed,pompous,objections,mushrooms,mulwray,manipulation,lured,internship,insignificant,inmate,incentive,fulfilled,disagreement,crypt,cornered,copied,brightest,beethoven,attendant,amaze,yogurt,wyndemere,vocabulary,tulsa,tactic,stuffy,respirator,pretends,polygraph,pennies,ordinarily,olives,necks,morally,martyr,leftovers,joints,hopping,homey,hints,heartbroken,forge,florist,firsthand,fiend,dandy,crippled,corrected,conniving,conditioner,clears,chemo,bubbly,bladder,beeper,baptism,wiring,wench,weaknesses,volunteering,violating,unlocked,tummy,surrogate,subid,stray,startle,specifics,slowing,scoot,robbers,rightful,richest,qfxmjrie,puffs,pierced,pencils,paralysis,makeover,luncheon,linksynergy,jerky,jacuzzi,hitched,hangover,fracture,flock,firemen,disgusted,darned,clams,borrowing,banged,wildest,weirder,unauthorized,stunts,sleeves,sixties,shush,shalt,retro,quits,pegged,painfully,paging,omelet,memorized,lawfully,jackets,intercept,ingredient,grownup,glued,fulfilling,enchanted,delusion,daring,compelling,carton,bridesmaids,bribed,boiling,bathrooms,bandage,awaiting,assign,arrogance,antiques,ainsley,turkeys,trashing,stockings,stalked,stabilized,skates,sedated,robes,respecting,psyche,presumptuous,prejudice,paragraph,mocha,mints,mating,mantan,lorne,loads,listener,itinerary,hepatitis,heave,guesses,fading,examining,dumbest,dishwasher,deceive,cunning,cripple,convictions,confided,compulsive,compromising,burglary,bumpy,brainwashed,benes,arnie,affirmative,adrenaline,adamant,watchin,waitresses,transgenic,toughest,tainted,surround,stormed,spree,spilling,spectacle,soaking,shreds,sewers,severed,scarce,scamming,scalp,rewind,rehearsing,pretentious,potions,overrated,obstacle,nerds,meems,mcmurphy,maternity,maneuver,loathe,fertility,eloping,ecstatic,ecstasy,divorcing,dignan,costing,clubhouse,clocks,candid,bursting,breather,braces,bending,arsonist,adored,absorb,valiant,uphold,unarmed,topolsky,thrilling,thigh,terminate,sustain,spaceship,snore,sneeze,smuggling,salty,quaint,patronize,patio,morbid,mamma,kettle,joyous,invincible,interpret,insecurities,impulses,illusions,holed,exploit,drivin,defenseless,dedicate,cradle,coupon,countless,conjure,cardboard,booking,backseat,accomplishment,wordsworth,wisely,valet,vaccine,urges,unnatural,unlucky,truths,traumatized,tasting,swears,strawberries,steaks,stats,skank,seducing,secretive,scumbag,screwdriver,schedules,rooting,rightfully,rattled,qualifies,puppets,prospects,pronto,posse,polling,pedestal,palms,muddy,morty,microscope,merci,lecturing,inject,incriminate,hygiene,grapefruit,gazebo,funnier,cuter,bossy,booby,aides,zende,winthrop,warrants,valentines,undressed,underage,truthfully,tampered,suffers,speechless,sparkling,sidelines,shrek,railing,puberty,pesky,outrage,outdoors,motions,moods,lunches,litter,kidnappers,itching,intuition,imitation,humility,hassling,gallons,drugstore,dosage,disrupt,dipping,deranged,debating,cuckoo,cremated,craziness,cooperating,circumstantial,chimney,blinking,biscuits,admiring,weeping,triad,trashy,soothing,slumber,slayers,skirts,siren,shindig,sentiment,rosco,riddance,quaid,purity,proceeding,pretzels,panicking,mckechnie,lovin,leaked,intruding,impersonating,ignorance,hamburgers,footprints,fluke,fleas,festivities,fences,feisty,evacuate,emergencies,deceived,creeping,craziest,corpses,conned,coincidences,bounced,bodyguards,blasted,bitterness,baloney,ashtray,apocalypse,zillion,watergate,wallpaper,telesave,sympathize,sweeter,startin,spades,sodas,snowed,sleepover,signor,seein,retainer,restroom,rested,repercussions,reliving,reconcile,prevail,preaching,overreact,o'neil,noose,moustache,manicure,maids,landlady,hypothetical,hopped,homesick,hives,hesitation,herbs,hectic,heartbreak,haunting,gangs,frown,fingerprint,exhausting,everytime,disregard,cling,chevron,chaperone,blinding,bitty,beads,battling,badgering,anticipation,upstanding,unprofessional,unhealthy,turmoil,truthful,toothpaste,tippin,thoughtless,tagataya,shooters,senseless,rewarding,propane,preposterous,pigeons,pastry,overhearing,obscene,negotiable,loner,jogging,itchy,insinuating,insides,hospitality,hormone,hearst,forthcoming,fists,fifties,etiquette,endings,destroys,despises,deprived,cuddy,crust,cloak,circumstance,chewed,casserole,bidder,bearer,artoo,applaud,appalling,vowed,virgins,vigilante,undone,throttle,testosterone,tailor,symptom,swoop,suitcases,stomp,sticker,stakeout,spoiling,snatched,smoochy,smitten,shameless,restraints,researching,renew,refund,reclaim,raoul,puzzles,purposely,punks,prosecuted,plaid,picturing,pickin,parasites,mysteriously,multiply,mascara,jukebox,interruptions,gunfire,furnace,elbows,duplicate,drapes,deliberate,decoy,cryptic,coupla,condemn,complicate,colossal,clerks,clarity,brushed,banished,argon,alarmed,worships,versa,uncanny,technicality,sundae,stumble,stripping,shuts,schmuck,satin,saliva,robber,relentless,reconnect,recipes,rearrange,rainy,psychiatrists,policemen,plunge,plugged,patched,overload,o'malley,mindless,menus,lullaby,lotte,leavin,killin,karinsky,invalid,hides,grownups,griff,flaws,flashy,flaming,fettes,evicted,dread,degrassi,dealings,dangers,cushion,bowel,barged,abide,abandoning,wonderfully,wait'll,violate,suicidal,stayin,sorted,slamming,sketchy,shoplifting,raiser,quizmaster,prefers,needless,motherhood,momentarily,migraine,lifts,leukemia,leftover,keepin,hinks,hellhole,gowns,goodies,gallon,futures,entertained,eighties,conspiring,cheery,benign,apiece,adjustments,abusive,abduction,wiping,whipping,welles,unspeakable,unidentified,trivial,transcripts,textbook,supervise,superstitious,stricken,stimulating,spielberg,slices,shelves,scratches,sabotaged,retrieval,repressed,rejecting,quickie,ponies,peeking,outraged,o'connell,moping,moaning,mausoleum,licked,kovich,klutz,interrogating,interfered,insulin,infested,incompetence,hyper,horrified,handedly,gekko,fraid,fractured,examiner,eloped,disoriented,dashing,crashdown,courier,cockroach,chipped,brushing,bombed,bolts,baths,baptized,astronaut,assurance,anemia,abuela,abiding,withholding,weave,wearin,weaker,suffocating,straws,straightforward,stench,steamed,starboard,sideways,shrinks,shortcut,scram,roasted,roaming,riviera,respectfully,repulsive,psychiatry,provoked,penitentiary,painkillers,ninotchka,mitzvah,milligrams,midge,marshmallows,looky,lapse,kubelik,intellect,improvise,implant,goa'ulds,giddy,geniuses,fruitcake,footing,fightin,drinkin,doork,detour,cuddle,crashes,combo,colonnade,cheats,cetera,bailiff,auditioning,assed,amused,alienate,aiding,aching,unwanted,topless,tongues,tiniest,superiors,soften,sheldrake,rawley,raisins,presses,plaster,nessa,narrowed,minions,merciful,lawsuits,intimidating,infirmary,inconvenient,imposter,hugged,honoring,holdin,hades,godforsaken,fumes,forgery,foolproof,folder,flattery,fingertips,exterminator,explodes,eccentric,dodging,disguised,crave,constructive,concealed,compartment,chute,chinpokomon,bodily,astronauts,alimony,accustomed,abdominal,wrinkle,wallow,valium,untrue,uncover,trembling,treasures,torched,toenails,timed,termites,telly,taunting,taransky,talker,succubus,smarts,sliding,sighting,semen,seizures,scarred,savvy,sauna,saddest,sacrificing,rubbish,riled,ratted,rationally,provenance,phonse,perky,pedal,overdose,nasal,nanites,mushy,movers,missus,midterm,merits,melodramatic,manure,knitting,invading,interpol,incapacitated,hotline,hauling,gunpoint,grail,ganza,framing,flannel,faded,eavesdrop,desserts,calories,breathtaking,bleak,blacked,batter,aggravated,yanked,wigand,whoah,unwind,undoubtedly,unattractive,twitch,trimester,torrance,timetable,taxpayers,strained,stared,slapping,sincerity,siding,shenanigans,shacking,sappy,samaritan,poorer,politely,paste,oysters,overruled,nightcap,mosquito,millimeter,merrier,manhood,lucked,kilos,ignition,hauled,harmed,goodwill,freshmen,fenmore,fasten,farce,exploding,erratic,drunks,ditching,d'artagnan,cramped,contacting,closets,clientele,chimp,bargained,arranging,anesthesia,amuse,altering,afternoons,accountable,abetting,wolek,waved,uneasy,toddy,tattooed,spauldings,sliced,sirens,schibetta,scatter,rinse,remedy,redemption,pleasures,optimism,oblige,mmmmm,masked,malicious,mailing,kosher,kiddies,judas,isolate,insecurity,incidentally,heals,headlights,growl,grilling,glazed,flunk,floats,fiery,fairness,exercising,excellency,disclosure,cupboard,counterfeit,condescending,conclusive,clicked,cleans,cholesterol,cashed,broccoli,brats,blueprints,blindfold,billing,attach,appalled,alrighty,wynant,unsolved,unreliable,toots,tighten,sweatshirt,steinbrenner,steamy,spouse,sonogram,slots,sleepless,shines,retaliate,rephrase,redeem,rambling,quilt,quarrel,prying,proverbial,priced,prescribe,prepped,pranks,possessive,plaintiff,pediatrics,overlooked,outcast,nightgown,mumbo,mediocre,mademoiselle,lunchtime,lifesaver,leaned,lambs,interns,hounding,hellmouth,hahaha,goner,ghoul,gardening,frenzy,foyer,extras,exaggerate,everlasting,enlightened,dialed,devote,deceitful,d'oeuvres,cosmetic,contaminated,conspired,conning,cavern,carving,butting,boiled,blurry,babysit,ascension,aaaaah,wildly,whoopee,whiny,weiskopf,walkie,vultures,vacations,upfront,unresolved,tampering,stockholders,snaps,sleepwalking,shrunk,sermon,seduction,scams,revolve,phenomenal,patrolling,paranormal,ounces,omigod,nightfall,lashing,innocents,infierno,incision,humming,haunts,gloss,gloating,frannie,fetal,feeny,entrapment,discomfort,detonator,dependable,concede,complication,commotion,commence,chulak,caucasian,casually,brainer,bolie,ballpark,anwar,analyzing,accommodations,youse,wring,wallowing,transgenics,thrive,tedious,stylish,strippers,sterile,squeezing,squeaky,sprained,solemn,snoring,shattering,shabby,seams,scrawny,revoked,residue,reeks,recite,ranting,quoting,predicament,plugs,pinpoint,petrified,pathological,passports,oughtta,nighter,navigate,kippie,intrigue,intentional,insufferable,hunky,how've,horrifying,hearty,hamptons,grazie,funerals,forks,fetched,excruciating,enjoyable,endanger,dumber,drying,diabolical,crossword,corry,comprehend,clipped,classmates,candlelight,brutally,brutality,boarded,bathrobe,authorize,assemble,aerobics,wholesome,whiff,vermin,trophies,trait,tragically,toying,testy,tasteful,stocked,spinach,sipping,sidetracked,scrubbing,scraping,sanctity,robberies,ridin,retribution,refrain,realities,radiant,protesting,projector,plutonium,payin,parting,o'reilly,nooooo,motherfucking,measly,manic,lalita,juggling,jerking,intro,inevitably,hypnosis,huddle,horrendous,hobbies,heartfelt,harlin,hairdresser,gonorrhea,fussing,furtwangler,fleeting,flawless,flashed,fetus,eulogy,distinctly,disrespectful,denies,crossbow,cregg,crabs,cowardly,contraction,contingency,confirming,condone,coffins,cleansing,cheesecake,certainty,cages,c'est,briefed,bravest,bosom,boils,binoculars,bachelorette,appetizer,ambushed,alerted,woozy,withhold,vulgar,utmost,unleashed,unholy,unhappiness,unconditional,typewriter,typed,twists,supermodel,subpoenaed,stringing,skeptical,schoolgirl,romantically,rocked,revoir,reopen,puncture,preach,polished,planetarium,penicillin,peacefully,nurturing,more'n,mmhmm,midgets,marklar,lodged,lifeline,jellyfish,infiltrate,hutch,horseback,heist,gents,frickin,freezes,forfeit,flakes,flair,fathered,eternally,epiphany,disgruntled,discouraged,delinquent,decipher,danvers,cubes,credible,coping,chills,cherished,catastrophe,bombshell,birthright,billionaire,ample,affections,admiration,abbotts,whatnot,watering,vinegar,unthinkable,unseen,unprepared,unorthodox,underhanded,uncool,timeless,thump,thermometer,theoretically,tapping,tagged,swung,stares,spiked,solves,smuggle,scarier,saucer,quitter,prudent,powdered,poked,pointers,peril,penetrate,penance,opium,nudge,nostrils,neurological,mockery,mobster,medically,loudly,insights,implicate,hypocritical,humanly,holiness,healthier,hammered,haldeman,gunman,gloom,freshly,francs,flunked,flawed,emptiness,drugging,dozer,derevko,deprive,deodorant,cryin,crocodile,coloring,colder,cognac,clocked,clippings,charades,chanting,certifiable,caterers,brute,brochures,botched,blinders,bitchin,banter,woken,ulcer,tread,thankfully,swine,swimsuit,swans,stressing,steaming,stamped,stabilize,squirm,snooze,shuffle,shredded,seafood,scratchy,savor,sadistic,rhetorical,revlon,realist,prosecuting,prophecies,polyester,petals,persuasion,paddles,o'leary,nuthin,neighbour,negroes,muster,meningitis,matron,lockers,letterman,legged,indictment,hypnotized,housekeeping,hopelessly,hallucinations,grader,goldilocks,girly,flask,envelopes,downside,doves,dissolve,discourage,disapprove,diabetic,deliveries,decorator,crossfire,criminally,containment,comrades,complimentary,chatter,catchy,cashier,cartel,caribou,cardiologist,brawl,booted,barbershop,aryan,angst,administer,zellie,wreak,whistles,vandalism,vamps,uterus,upstate,unstoppable,understudy,tristin,transcript,tranquilizer,toxins,tonsils,stempel,spotting,spectator,spatula,softer,snotty,slinging,showered,sexiest,sensual,sadder,rimbaud,restrain,resilient,remission,reinstate,rehash,recollection,rabies,popsicle,plausible,pediatric,patronizing,ostrich,ortolani,oooooh,omelette,mistrial,marseilles,loophole,laughin,kevvy,irritated,infidelity,hypothermia,horrific,groupie,grinding,graceful,goodspeed,gestures,frantic,extradition,echelon,disks,dawnie,dared,damsel,curled,collateral,collage,chant,calculating,bumping,bribes,boardwalk,blinds,blindly,bleeds,bickering,beasts,backside,avenge,apprehended,anguish,abusing,youthful,yells,yanking,whomever,when'd,vomiting,vengeful,unpacking,unfamiliar,undying,tumble,trolls,treacherous,tipping,tantrum,tanked,summons,straps,stomped,stinkin,stings,staked,squirrels,sprinkles,speculate,sorting,skinned,sicko,sicker,shootin,shatter,seeya,schnapps,s'posed,ronee,respectful,regroup,regretting,reeling,reckoned,ramifications,puddy,projections,preschool,plissken,platonic,permalash,outdone,outburst,mutants,mugging,misfortune,miserably,miraculously,medications,margaritas,manpower,lovemaking,logically,leeches,latrine,kneel,inflict,impostor,hypocrisy,hippies,heterosexual,heightened,hecuba,healer,gunned,grooming,groin,gooey,gloomy,frying,friendships,fredo,firepower,fathom,exhaustion,evils,endeavor,eggnog,dreaded,d'arcy,crotch,coughing,coronary,cookin,consummate,congrats,companionship,caved,caspar,bulletproof,brilliance,breakin,brash,blasting,aloud,airtight,advising,advertise,adultery,aches,wronged,upbeat,trillion,thingies,tending,tarts,surreal,specs,specialize,spade,shrew,shaping,selves,schoolwork,roomie,recuperating,rabid,quart,provocative,proudly,pretenses,prenatal,pharmaceuticals,pacing,overworked,originals,nicotine,murderous,mileage,mayonnaise,massages,losin,interrogated,injunction,impartial,homing,heartbreaker,hacks,glands,giver,fraizh,flips,flaunt,englishman,electrocuted,dusting,ducking,drifted,donating,cylon,crutches,crates,cowards,comfortably,chummy,chitchat,childbirth,businesswoman,brood,blatant,bethy,barring,bagged,awakened,asbestos,airplanes,worshipped,winnings,why're,visualize,unprotected,unleash,trays,thicker,therapists,takeoff,streisand,storeroom,stethoscope,stacked,spiteful,sneaks,snapping,slaughtered,slashed,simplest,silverware,shits,secluded,scruples,scrubs,scraps,ruptured,roaring,receptionist,recap,raditch,radiator,pushover,plastered,pharmacist,perverse,perpetrator,ornament,ointment,nineties,napping,nannies,mousse,moors,momentary,misunderstandings,manipulator,malfunction,laced,kivar,kickin,infuriating,impressionable,holdup,hires,hesitated,headphones,hammering,groundwork,grotesque,graces,gauze,gangsters,frivolous,freeing,fours,forwarding,ferrars,faulty,fantasizing,extracurricular,empathy,divorces,detonate,depraved,demeaning,deadlines,dalai,cursing,cufflink,crows,coupons,comforted,claustrophobic,casinos,camped,busboy,bluth,bennetts,baskets,attacker,aplastic,angrier,affectionate,zapped,wormhole,weaken,unrealistic,unravel,unimportant,unforgettable,twain,suspend,superbowl,stutter,stewardess,stepson,standin,spandex,souvenirs,sociopath,skeletons,shivering,sexier,selfishness,scrapbook,ritalin,ribbons,reunite,remarry,relaxation,rattling,rapist,psychosis,prepping,poses,pleasing,pisses,piling,persecuted,padded,operatives,negotiator,natty,menopause,mennihan,martimmys,loyalties,laynie,lando,justifies,intimately,inexperienced,impotent,immortality,horrors,hooky,hinges,heartbreaking,handcuffed,gypsies,guacamole,grovel,graziella,goggles,gestapo,fussy,ferragamo,feeble,eyesight,explosions,experimenting,enchanting,doubtful,dizziness,dismantle,detectors,deserving,defective,dangling,dancin,crumble,creamed,cramping,conceal,clockwork,chrissakes,chrissake,chopping,cabinets,brooding,bonfire,blurt,bloated,blackmailer,beforehand,bathed,bathe,barcode,banish,badges,babble,await,attentive,aroused,antibodies,animosity,ya'll,wrinkled,wonderland,willed,whisk,waltzing,waitressing,vigilant,upbringing,unselfish,uncles,trendy,trajectory,striped,stamina,stalled,staking,stacks,spoils,snuff,snooty,snide,shrinking,senora,secretaries,scoundrel,saline,salads,rundown,riddles,relapse,recommending,raspberry,plight,pecan,pantry,overslept,ornaments,niner,negligent,negligence,nailing,mucho,mouthed,monstrous,malpractice,lowly,loitering,logged,lingering,lettin,lattes,kamal,juror,jillefsky,jacked,irritate,intrusion,insatiable,infect,impromptu,icing,hmmmm,hefty,gasket,frightens,flapping,firstborn,faucet,estranged,envious,dopey,doesn,disposition,disposable,disappointments,dipped,dignified,deceit,dealership,deadbeat,curses,coven,counselors,concierge,clutches,casbah,callous,cahoots,brotherly,britches,brides,bethie,beige,autographed,attendants,attaboy,astonishing,appreciative,antibiotic,aneurysm,afterlife,affidavit,zoning,whats,whaddaya,vasectomy,unsuspecting,toula,topanga,tonio,toasted,tiring,terrorized,tenderness,tailing,sweats,suffocated,sucky,subconsciously,starvin,sprouts,spineless,sorrows,snowstorm,smirk,slicery,sledding,slander,simmer,signora,sigmund,seventies,sedate,scented,sandals,rollers,retraction,resigning,recuperate,receptive,racketeering,queasy,provoking,priors,prerogative,premed,pinched,pendant,outsiders,orbing,opportunist,olanov,neurologist,nanobot,mommies,molested,misread,mannered,laundromat,intercom,inspect,insanely,infatuation,indulgent,indiscretion,inconsiderate,hurrah,howling,herpes,hasta,harassed,hanukkah,groveling,groosalug,gander,galactica,futile,fridays,flier,fixes,exploiting,exorcism,evasive,endorse,emptied,dreary,dreamy,downloaded,dodged,doctored,disobeyed,disneyland,disable,dehydrated,contemplating,coconuts,cockroaches,clogged,chilling,chaperon,cameraman,bulbs,bucklands,bribing,brava,bracelets,bowels,bluepoint,appetizers,appendix,antics,anointed,analogy,almonds,yammering,winch,weirdness,wangler,vibrations,vendor,unmarked,unannounced,twerp,trespass,travesty,transfusion,trainee,towelie,tiresome,straightening,staggering,sonar,socializing,sinus,sinners,shambles,serene,scraped,scones,scepter,sarris,saberhagen,ridiculously,ridicule,rents,reconciled,radios,publicist,pubes,prune,prude,precrime,postponing,pluck,perish,peppermint,peeled,overdo,nutshell,nostalgic,mulan,mouthing,mistook,meddle,maybourne,martimmy,lobotomy,livelihood,lippman,likeness,kindest,kaffee,jocks,jerked,jeopardizing,jazzed,insured,inquisition,inhale,ingenious,holier,helmets,heirloom,heinous,haste,harmsway,hardship,hanky,gutters,gruesome,groping,goofing,godson,glare,finesse,figuratively,ferrie,endangerment,dreading,dozed,dorky,dmitri,divert,discredit,dialing,cufflinks,crutch,craps,corrupted,cocoon,cleavage,cannery,bystander,brushes,bruising,bribery,brainstorm,bolted,binge,ballistics,astute,arroway,adventurous,adoptive,addicts,addictive,yadda,whitelighters,wematanye,weeds,wedlock,wallets,vulnerability,vroom,vents,upped,unsettling,unharmed,trippin,trifle,tracing,tormenting,thats,syphilis,subtext,stickin,spices,sores,smacked,slumming,sinks,signore,shitting,shameful,shacked,septic,seedy,righteousness,relish,rectify,ravishing,quickest,phoebs,perverted,peeing,pedicure,pastrami,passionately,ozone,outnumbered,oregano,offender,nukes,nosed,nighty,nifty,mounties,motivate,moons,misinterpreted,mercenary,mentality,marsellus,lupus,lumbar,lovesick,lobsters,leaky,laundering,latch,jafar,instinctively,inspires,indoors,incarcerated,hundredth,handkerchief,gynecologist,guittierez,groundhog,grinning,goodbyes,geese,fullest,eyelashes,eyelash,enquirer,endlessly,elusive,disarm,detest,deluding,dangle,cotillion,corsage,conjugal,confessional,cones,commandment,coded,coals,chuckle,christmastime,cheeseburgers,chardonnay,celery,campfire,calming,burritos,brundle,broflovski,brighten,borderline,blinked,bling,beauties,bauers,battered,articulate,alienated,ahhhhh,agamemnon,accountants,y'see,wrongful,wrapper,workaholic,winnebago,whispered,warts,vacate,unworthy,unanswered,tonane,tolerated,throwin,throbbing,thrills,thorns,thereof,there've,tarot,sunscreen,stretcher,stereotype,soggy,sobbing,sizable,sightings,shucks,shrapnel,sever,senile,seaboard,scorned,saver,rebellious,rained,putty,prenup,pores,pinching,pertinent,peeping,paints,ovulating,opposites,occult,nutcracker,nutcase,newsstand,newfound,mocked,midterms,marshmallow,marbury,maclaren,leans,krudski,knowingly,keycard,junkies,juilliard,jolinar,irritable,invaluable,inuit,intoxicating,instruct,insolent,inexcusable,incubator,illustrious,hunsecker,houseguest,homosexuals,homeroom,hernia,harming,handgun,hallways,hallucination,gunshots,groupies,groggy,goiter,gingerbread,giggling,frigging,fledged,fedex,fairies,exchanging,exaggeration,esteemed,enlist,drags,dispense,disloyal,disconnect,desks,dentists,delacroix,degenerate,daydreaming,cushions,cuddly,corroborate,complexion,compensated,cobbler,closeness,chilled,checkmate,channing,carousel,calms,bylaws,benefactor,ballgame,baiting,backstabbing,artifact,airspace,adversary,actin,accuses,accelerant,abundantly,abstinence,zissou,zandt,yapping,witchy,willows,whadaya,vilandra,veiled,undress,undivided,underestimating,ultimatums,twirl,truckload,tremble,toasting,tingling,tents,tempered,sulking,stunk,sponges,spills,softly,snipers,scourge,rooftop,riana,revolting,revisit,refreshments,redecorating,recapture,raysy,pretense,prejudiced,precogs,pouting,poofs,pimple,piles,pediatrician,padre,packets,paces,orvelle,oblivious,objectivity,nighttime,nervosa,mexicans,meurice,melts,matchmaker,maeby,lugosi,lipnik,leprechaun,kissy,kafka,introductions,intestines,inspirational,insightful,inseparable,injections,inadvertently,hussy,huckabees,hittin,hemorrhaging,headin,haystack,hallowed,grudges,granilith,grandkids,grading,gracefully,godsend,gobbles,fragrance,fliers,finchley,farts,eyewitnesses,expendable,existential,dorms,delaying,degrading,deduction,darlings,danes,cylons,counsellor,contraire,consciously,conjuring,congratulating,cokes,buffay,brooch,bitching,bistro,bijou,bewitched,benevolent,bends,bearings,barren,aptitude,amish,amazes,abomination,worldly,whispers,whadda,wayward,wailing,vanishing,upscale,untouchable,unspoken,uncontrollable,unavoidable,unattended,trite,transvestite,toupee,timid,timers,terrorizing,swana,stumped,strolling,storybook,storming,stomachs,stoked,stationery,springtime,spontaneity,spits,spins,soaps,sentiments,scramble,scone,rooftops,retract,reflexes,rawdon,ragged,quirky,quantico,psychologically,prodigal,pounce,potty,pleasantries,pints,petting,perceive,onstage,notwithstanding,nibble,newmans,neutralize,mutilated,millionaires,mayflower,masquerade,mangy,macreedy,lunatics,lovable,locating,limping,lasagna,kwang,keepers,juvie,jaded,ironing,intuitive,intensely,insure,incantation,hysteria,hypnotize,humping,happenin,griet,grasping,glorified,ganging,g'night,focker,flunking,flimsy,flaunting,fixated,fitzwallace,fainting,eyebrow,exonerated,ether,electrician,egotistical,earthly,dusted,dignify,detonation,debrief,dazzling,dan'l,damnedest,daisies,crushes,crucify,contraband,confronting,collapsing,cocked,clicks,cliche,circled,chandelier,carburetor,callers,broads,breathes,bloodshed,blindsided,blabbing,bialystock,bashing,ballerina,aviva,arteries,anomaly,airstrip,agonizing,adjourn,aaaaa,yearning,wrecker,witnessing,whence,warhead,unsure,unheard,unfreeze,unfold,unbalanced,ugliest,troublemaker,toddler,tiptoe,threesome,thirties,thermostat,swipe,surgically,subtlety,stung,stumbling,stubs,stride,strangling,sprayed,socket,smuggled,showering,shhhhh,sabotaging,rumson,rounding,risotto,repairman,rehearsed,ratty,ragging,radiology,racquetball,racking,quieter,quicksand,prowl,prompt,premeditated,prematurely,prancing,porcupine,plated,pinocchio,peeked,peddle,panting,overweight,overrun,outing,outgrown,obsess,nursed,nodding,negativity,negatives,musketeers,mugger,motorcade,merrily,matured,masquerading,marvellous,maniacs,lovey,louse,linger,lilies,lawful,kudos,knuckle,juices,judgments,itches,intolerable,intermission,inept,incarceration,implication,imaginative,huckleberry,holster,heartburn,gunna,groomed,graciously,fulfillment,fugitives,forsaking,forgives,foreseeable,flavors,flares,fixation,fickle,fantasize,famished,fades,expiration,exclamation,erasing,eiffel,eerie,earful,duped,dulles,dissing,dissect,dispenser,dilated,detergent,desdemona,debriefing,damper,curing,crispina,crackpot,courting,cordial,conflicted,comprehension,commie,cleanup,chiropractor,charmer,chariot,cauldron,catatonic,bullied,buckets,brilliantly,breathed,booths,boardroom,blowout,blindness,blazing,biologically,bibles,biased,beseech,barbaric,balraj,audacity,anticipating,alcoholics,airhead,agendas,admittedly,absolution,youre,yippee,wittlesey,withheld,willful,whammy,weakest,washes,virtuous,videotapes,vials,unplugged,unpacked,unfairly,turbulence,tumbling,tricking,tremendously,traitors,torches,tinga,thyroid,teased,tawdry,taker,sympathies,swiped,sundaes,suave,strut,stepdad,spewing,spasm,socialize,slither,simulator,shutters,shrewd,shocks,semantics,schizophrenic,scans,savages,rya'c,runny,ruckus,royally,roadblocks,rewriting,revoke,repent,redecorate,recovers,recourse,ratched,ramali,racquet,quince,quiche,puppeteer,puking,puffed,problemo,praises,pouch,postcards,pooped,poised,piled,phoney,phobia,patching,parenthood,pardner,oozing,ohhhhh,numbing,nostril,nosey,neatly,nappa,nameless,mortuary,moronic,modesty,midwife,mcclane,matuka,maitre,lumps,lucid,loosened,loins,lawnmower,lamotta,kroehner,jinxy,jessep,jamming,jailhouse,jacking,intruders,inhuman,infatuated,indigestion,implore,implanted,hormonal,hoboken,hillbilly,heartwarming,headway,hatched,hartmans,harping,grapevine,gnome,forties,flyin,flirted,fingernail,exhilarating,enjoyment,embark,dumper,dubious,drell,docking,disillusioned,dishonor,disbarred,dicey,custodial,counterproductive,corned,cords,contemplate,concur,conceivable,cobblepot,chickened,checkout,carpe,cap'n,campers,buyin,bullies,braid,boxed,bouncy,blueberries,blubbering,bloodstream,bigamy,beeped,bearable,autographs,alarming,wretch,wimps,widower,whirlwind,whirl,warms,vandelay,unveiling,undoing,unbecoming,turnaround,touche,togetherness,tickles,ticker,teensy,taunt,sweethearts,stitched,standpoint,staffers,spotless,soothe,smothered,sickening,shouted,shepherds,shawl,seriousness,schooled,schoolboy,s'mores,roped,reminders,raggedy,preemptive,plucked,pheromones,particulars,pardoned,overpriced,overbearing,outrun,ohmigod,nosing,nicked,neanderthal,mosquitoes,mortified,milky,messin,mecha,markinson,marivellas,mannequin,manderley,madder,macready,lookie,locusts,lifetimes,lanna,lakhi,kholi,impersonate,hyperdrive,horrid,hopin,hogging,hearsay,harpy,harboring,hairdo,hafta,grasshopper,gobble,gatehouse,foosball,floozy,fished,firewood,finalize,felons,euphemism,entourage,elitist,elegance,drokken,drier,dredge,dossier,diseased,diarrhea,diagnose,despised,defuse,d'amour,contesting,conserve,conscientious,conjured,collars,clogs,chenille,chatty,chamomile,casing,calculator,brittle,breached,blurted,birthing,bikinis,astounding,assaulting,aroma,appliance,antsy,amnio,alienating,aliases,adolescence,xerox,wrongs,workload,willona,whistling,werewolves,wallaby,unwelcome,unseemly,unplug,undermining,ugliness,tyranny,tuesdays,trumpets,transference,ticks,tangible,tagging,swallowing,superheroes,studs,strep,stowed,stomping,steffy,sprain,spouting,sponsoring,sneezing,smeared,slink,shakin,sewed,seatbelt,scariest,scammed,sanctimonious,roasting,rightly,retinal,rethinking,resented,reruns,remover,racks,purest,progressing,presidente,preeclampsia,postponement,portals,poppa,pliers,pinning,pelvic,pampered,padding,overjoyed,ooooo,one'll,octavius,nonono,nicknames,neurosurgeon,narrows,misled,mislead,mishap,milltown,milking,meticulous,mediocrity,meatballs,machete,lurch,layin,knockin,khruschev,jurors,jumpin,jugular,jeweler,intellectually,inquiries,indulging,indestructible,indebted,imitate,ignores,hyperventilating,hyenas,hurrying,hermano,hellish,heheh,harshly,handout,grunemann,glances,giveaway,getup,gerome,furthest,frosting,frail,forwarded,forceful,flavored,flammable,flaky,fingered,fatherly,ethic,embezzlement,duffel,dotted,distressed,disobey,disappearances,dinky,diminish,diaphragm,deuces,creme,courteous,comforts,coerced,clots,clarification,chunks,chickie,chases,chaperoning,cartons,caper,calves,caged,bustin,bulging,bringin,boomhauer,blowin,blindfolded,biscotti,ballplayer,bagging,auster,assurances,aschen,arraigned,anonymity,alters,albatross,agreeable,adoring,abduct,wolfi,weirded,watchers,washroom,warheads,vincennes,urgency,understandably,uncomplicated,uhhhh,twitching,treadmill,thermos,tenorman,tangle,talkative,swarm,surrendering,summoning,strive,stilts,stickers,squashed,spraying,sparring,soaring,snort,sneezed,slaps,skanky,singin,sidle,shreck,shortness,shorthand,sharper,shamed,sadist,rydell,rusik,roulette,resumes,respiration,recount,reacts,purgatory,princesses,presentable,ponytail,plotted,pinot,pigtails,phillippe,peddling,paroled,orbed,offends,o'hara,moonlit,minefield,metaphors,malignant,mainframe,magicks,maggots,maclaine,loathing,leper,leaps,leaping,lashed,larch,larceny,lapses,ladyship,juncture,jiffy,jakov,invoke,infantile,inadmissible,horoscope,hinting,hideaway,hesitating,heddy,heckles,hairline,gripe,gratifying,governess,goebbels,freddo,foresee,fascination,exemplary,executioner,etcetera,escorts,endearing,eaters,earplugs,draped,disrupting,disagrees,dimes,devastate,detain,depositions,delicacy,darklighter,cynicism,cyanide,cutters,cronus,continuance,conquering,confiding,compartments,combing,cofell,clingy,cleanse,christmases,cheered,cheekbones,buttle,burdened,bruenell,broomstick,brained,bozos,bontecou,bluntman,blazes,blameless,bizarro,bellboy,beaucoup,barkeep,awaken,astray,assailant,appease,aphrodisiac,alleys,yesss,wrecks,woodpecker,wondrous,wimpy,willpower,wheeling,weepy,waxing,waive,videotaped,veritable,untouched,unlisted,unfounded,unforeseen,twinge,triggers,traipsing,toxin,tombstone,thumping,therein,testicles,telephones,tarmac,talby,tackled,swirling,suicides,suckered,subtitles,sturdy,strangler,stockbroker,stitching,steered,standup,squeal,sprinkler,spontaneously,splendor,spiking,spender,snipe,snagged,skimming,siddown,showroom,shovels,shotguns,shoelaces,shitload,shellfish,sharpest,shadowy,seizing,scrounge,scapegoat,sayonara,saddled,rummaging,roomful,renounce,reconsidered,recharge,realistically,radioed,quirks,quadrant,punctual,practising,pours,poolhouse,poltergeist,pocketbook,plainly,picnics,pesto,pawing,passageway,partied,oneself,numero,nostalgia,nitwit,neuro,mixer,meanest,mcbeal,matinee,margate,marce,manipulations,manhunt,manger,magicians,loafers,litvack,lightheaded,lifeguard,lawns,laughingstock,ingested,indignation,inconceivable,imposition,impersonal,imbecile,huddled,housewarming,horizons,homicides,hiccups,hearse,hardened,gushing,gushie,greased,goddamit,freelancer,forging,fondue,flustered,flung,flinch,flicker,fixin,festivus,fertilizer,farted,faggots,exonerate,evict,enormously,encrypted,emdash,embracing,duress,dupres,dowser,doormat,disfigured,disciplined,dibbs,depository,deathbed,dazzled,cuttin,cures,crowding,crepe,crammed,copycat,contradict,confidant,condemning,conceited,commute,comatose,clapping,circumference,chuppah,chore,choksondik,chestnuts,briault,bottomless,bonnet,blokes,berluti,beret,beggars,bankroll,bania,athos,arsenic,apperantly,ahhhhhh,afloat,accents,zipped,zeros,zeroes,zamir,yuppie,youngsters,yorkers,wisest,wipes,wield,whyn't,weirdos,wednesdays,vicksburg,upchuck,untraceable,unsupervised,unpleasantness,unhook,unconscionable,uncalled,trappings,tragedies,townie,thurgood,things'll,thine,tetanus,terrorize,temptations,tanning,tampons,swarming,straitjacket,steroid,startling,starry,squander,speculating,sollozzo,sneaked,slugs,skedaddle,sinker,silky,shortcomings,sellin,seasoned,scrubbed,screwup,scrapes,scarves,sandbox,salesmen,rooming,romances,revere,reproach,reprieve,rearranging,ravine,rationalize,raffle,punchy,psychobabble,provocation,profoundly,prescriptions,preferable,polishing,poached,pledges,pirelli,perverts,oversized,overdressed,outdid,nuptials,nefarious,mouthpiece,motels,mopping,mongrel,missin,metaphorically,mertin,memos,melodrama,melancholy,measles,meaner,mantel,maneuvering,mailroom,luring,listenin,lifeless,licks,levon,legwork,kneecaps,kippur,kiddie,kaput,justifiable,insistent,insidious,innuendo,innit,indecent,imaginable,horseshit,hemorrhoid,hella,healthiest,haywire,hamsters,hairbrush,grouchy,grisly,gratuitous,glutton,glimmer,gibberish,ghastly,gentler,generously,geeky,fuhrer,fronting,foolin,faxes,faceless,extinguisher,expel,etched,endangering,ducked,dodgeball,dives,dislocated,discrepancy,devour,derail,dementia,daycare,cynic,crumbling,cowardice,covet,cornwallis,corkscrew,cookbook,commandments,coincidental,cobwebs,clouded,clogging,clicking,clasp,chopsticks,chefs,chaps,cashing,carat,calmer,brazen,brainwashing,bradys,bowing,boned,bloodsucking,bleachers,bleached,bedpan,bearded,barrenger,bachelors,awwww,assures,assigning,asparagus,apprehend,anecdote,amoral,aggravation,afoot,acquaintances,accommodating,yakking,worshipping,wladek,willya,willies,wigged,whoosh,whisked,watered,warpath,volts,violates,valuables,uphill,unwise,untimely,unsavory,unresponsive,unpunished,unexplained,tubby,trolling,toxicology,tormented,toothache,tingly,timmiihh,thursdays,thoreau,terrifies,temperamental,telegrams,talkie,takers,symbiote,swirl,suffocate,stupider,strapping,steckler,springing,someway,sleepyhead,sledgehammer,slant,slams,showgirl,shoveling,shmoopy,sharkbait,shan't,scrambling,schematics,sandeman,sabbatical,rummy,reykjavik,revert,responsive,rescheduled,requisition,relinquish,rejoice,reckoning,recant,rebadow,reassurance,rattlesnake,ramble,primed,pricey,prance,pothole,pocus,persist,perpetrated,pekar,peeling,pastime,parmesan,pacemaker,overdrive,ominous,observant,nothings,noooooo,nonexistent,nodded,nieces,neglecting,nauseating,mutated,musket,mumbling,mowing,mouthful,mooseport,monologue,mistrust,meetin,masseuse,mantini,mailer,madre,lowlifes,locksmith,livid,liven,limos,liberating,lhasa,leniency,leering,laughable,lashes,lasagne,laceration,korben,katan,kalen,jittery,jammies,irreplaceable,intubate,intolerant,inhaler,inhaled,indifferent,indifference,impound,impolite,humbly,heroics,heigh,guillotine,guesthouse,grounding,grips,gossiping,goatee,gnomes,gellar,frutt,frobisher,freudian,foolishness,flagged,femme,fatso,fatherhood,fantasized,fairest,faintest,eyelids,extravagant,extraterrestrial,extraordinarily,escalator,elevate,drivel,dissed,dismal,disarray,dinnertime,devastation,dermatologist,delicately,defrost,debutante,debacle,damone,dainty,cuvee,culpa,crucified,creeped,crayons,courtship,convene,congresswoman,concocted,compromises,comprende,comma,coleslaw,clothed,clinically,chickenshit,checkin,cesspool,caskets,calzone,brothel,boomerang,bodega,blasphemy,bitsy,bicentennial,berlini,beatin,beards,barbas,barbarians,backpacking,arrhythmia,arousing,arbitrator,antagonize,angling,anesthetic,altercation,aggressor,adversity,acathla,aaahhh,wreaking,workup,wonderin,wither,wielding,what'm,what'cha,waxed,vibrating,veterinarian,venting,vasey,valor,validate,upholstery,untied,unscathed,uninterrupted,unforgiving,undies,uncut,twinkies,tucking,treatable,treasured,tranquility,townspeople,torso,tomei,tipsy,tinsel,tidings,thirtieth,tantrums,tamper,talky,swayed,swapping,suitor,stylist,stirs,standoff,sprinklers,sparkly,snobby,snatcher,smoother,sleepin,shrug,shoebox,sheesh,shackles,setbacks,sedatives,screeching,scorched,scanned,satyr,roadblock,riverbank,ridiculed,resentful,repellent,recreate,reconvene,rebuttal,realmedia,quizzes,questionnaire,punctured,pucker,prolong,professionalism,pleasantly,pigsty,penniless,paychecks,patiently,parading,overactive,ovaries,orderlies,oracles,oiled,offending,nudie,neonatal,neighborly,moops,moonlighting,mobilize,mmmmmm,milkshake,menial,meats,mayan,maxed,mangled,magua,lunacy,luckier,liters,lansbury,kooky,knowin,jeopardized,inkling,inhalation,inflated,infecting,incense,inbound,impractical,impenetrable,idealistic,i'mma,hypocrites,hurtin,humbled,hologram,hokey,hocus,hitchhiking,hemorrhoids,headhunter,hassled,harts,hardworking,haircuts,hacksaw,genitals,gazillion,gammy,gamesphere,fugue,footwear,folly,flashlights,fives,filet,extenuating,estrogen,entails,embezzled,eloquent,egomaniac,ducts,drowsy,drones,doree,donovon,disguises,diggin,deserting,depriving,defying,deductible,decorum,decked,daylights,daybreak,dashboard,damnation,cuddling,crunching,crickets,crazies,councilman,coughed,conundrum,complimented,cohaagen,clutching,clued,clader,cheques,checkpoint,chats,channeling,ceases,carasco,capisce,cantaloupe,cancelling,campsite,burglars,breakfasts,bra'tac,blueprint,bleedin,blabbed,beneficiary,basing,avert,atone,arlyn,approves,apothecary,antiseptic,aleikuum,advisement,zadir,wobbly,withnail,whattaya,whacking,wedged,wanders,vaginal,unimaginable,undeniable,unconditionally,uncharted,unbridled,tweezers,tvmegasite,trumped,triumphant,trimming,treading,tranquilizers,toontown,thunk,suture,suppressing,strays,stonewall,stogie,stepdaughter,stace,squint,spouses,splashed,speakin,sounder,sorrier,sorrel,sombrero,solemnly,softened,snobs,snippy,snare,smoothing,slump,slimeball,slaving,silently,shiller,shakedown,sensations,scrying,scrumptious,screamin,saucy,santoses,roundup,roughed,rosary,robechaux,retrospect,rescind,reprehensible,repel,remodeling,reconsidering,reciprocate,railroaded,psychics,promos,prob'ly,pristine,printout,priestess,prenuptial,precedes,pouty,phoning,peppy,pariah,parched,panes,overloaded,overdoing,nymphs,nother,notebooks,nearing,nearer,monstrosity,milady,mieke,mephesto,medicated,marshals,manilow,mammogram,m'lady,lotsa,loopy,lesion,lenient,learner,laszlo,kross,kinks,jinxed,involuntary,insubordination,ingrate,inflatable,incarnate,inane,hypoglycemia,huntin,humongous,hoodlum,honking,hemorrhage,helpin,hathor,hatching,grotto,grandmama,gorillas,godless,girlish,ghouls,gershwin,frosted,flutter,flagpole,fetching,fatter,faithfully,exert,evasion,escalate,enticing,enchantress,elopement,drills,downtime,downloading,dorks,doorways,divulge,dissociative,disgraceful,disconcerting,deteriorate,destinies,depressive,dented,denim,decruz,decidedly,deactivate,daydreams,curls,culprit,cruelest,crippling,cranberries,corvis,copped,commend,coastguard,cloning,cirque,churning,chock,chivalry,catalogues,cartwheels,carols,canister,buttered,bundt,buljanoff,bubbling,brokers,broaden,brimstone,brainless,bores,badmouthing,autopilot,ascertain,aorta,ampata,allenby,accosted,absolve,aborted,aaagh,aaaaaah,yonder,yellin,wyndham,wrongdoing,woodsboro,wigging,wasteland,warranty,waltzed,walnuts,vividly,veggie,unnecessarily,unloaded,unicorns,understated,unclean,umbrellas,twirling,turpentine,tupperware,triage,treehouse,tidbit,tickled,threes,thousandth,thingie,terminally,teething,tassel,talkies,swoon,switchboard,swerved,suspiciously,subsequentlyne,subscribe,strudel,stroking,strictest,stensland,starin,stannart,squirming,squealing,sorely,softie,snookums,sniveling,smidge,sloth,skulking,simian,sightseeing,siamese,shudder,shoppers,sharpen,shannen,semtex,secondhand,seance,scowl,scorn,safekeeping,russe,rummage,roshman,roomies,roaches,rinds,retrace,retires,resuscitate,rerun,reputations,rekall,refreshment,reenactment,recluse,ravioli,raves,raking,purses,punishable,punchline,puked,prosky,previews,poughkeepsie,poppins,polluted,placenta,pissy,petulant,perseverance,pears,pawns,pastries,partake,panky,palate,overzealous,orchids,obstructing,objectively,obituaries,obedient,nothingness,musty,motherly,mooning,momentous,mistaking,minutemen,milos,microchip,meself,merciless,menelaus,mazel,masturbate,mahogany,lysistrata,lillienfield,likable,liberate,leveled,letdown,larynx,lardass,lainey,lagged,klorel,kidnappings,keyed,karmic,jeebies,irate,invulnerable,intrusive,insemination,inquire,injecting,informative,informants,impure,impasse,imbalance,illiterate,hurled,hunts,hematoma,headstrong,handmade,handiwork,growling,gorky,getcha,gesundheit,gazing,galley,foolishly,fondness,floris,ferocious,feathered,fateful,fancies,fakes,faker,expire,ever'body,essentials,eskimos,enlightening,enchilada,emissary,embolism,elsinore,ecklie,drenched,drazi,doped,dogging,doable,dislikes,dishonesty,disengage,discouraging,derailed,deformed,deflect,defer,deactivated,crips,constellations,congressmen,complimenting,clubbing,clawing,chromium,chimes,chews,cheatin,chaste,cellblock,caving,catered,catacombs,calamari,bucking,brulee,brits,brisk,breezes,bounces,boudoir,binks,better'n,bellied,behrani,behaves,bedding,balmy,badmouth,backers,avenging,aromatherapy,armpit,armoire,anythin,anonymously,anniversaries,aftershave,affliction,adrift,admissible,adieu,acquittal,yucky,yearn,whitter,whirlpool,wendigo,watchdog,wannabes,wakey,vomited,voicemail,valedictorian,uttered,unwed,unrequited,unnoticed,unnerving,unkind,unjust,uniformed,unconfirmed,unadulterated,unaccounted,uglier,turnoff,trampled,tramell,toads,timbuktu,throwback,thimble,tasteless,tarantula,tamale,takeovers,swish,supposing,streaking,stargher,stanzi,stabs,squeamish,splattered,spiritually,spilt,speciality,smacking,skywire,skips,skaara,simpatico,shredding,showin,shortcuts,shite,shielding,shamelessly,serafine,sentimentality,seasick,schemer,scandalous,sainted,riedenschneider,rhyming,revel,retractor,retards,resurrect,remiss,reminiscing,remanded,reiben,regains,refuel,refresher,redoing,redheaded,reassured,rearranged,rapport,qumar,prowling,prejudices,precarious,powwow,pondering,plunger,plunged,pleasantville,playpen,phlegm,perfected,pancreas,paley,ovary,outbursts,oppressed,ooohhh,omoroca,offed,o'toole,nurture,nursemaid,nosebleed,necktie,muttering,munchies,mucking,mogul,mitosis,misdemeanor,miscarried,millionth,migraines,midler,manicurist,mandelbaum,manageable,malfunctioned,magnanimous,loudmouth,longed,lifestyles,liddy,lickety,leprechauns,komako,klute,kennel,justifying,irreversible,inventing,intergalactic,insinuate,inquiring,ingenuity,inconclusive,incessant,improv,impersonation,hyena,humperdinck,hubba,housework,hoffa,hither,hissy,hippy,hijacked,heparin,hellooo,hearth,hassles,hairstyle,hahahaha,hadda,guys'll,gutted,gulls,gritty,grievous,graft,gossamer,gooder,gambled,gadgets,fundamentals,frustrations,frolicking,frock,frilly,foreseen,footloose,fondly,flirtation,flinched,flatten,farthest,exposer,evading,escrow,empathize,embryos,embodiment,ellsberg,ebola,dulcinea,dreamin,drawbacks,doting,doose,doofy,disturbs,disorderly,disgusts,detox,denominator,demeanor,deliriously,decode,debauchery,croissant,cravings,cranked,coworkers,councilor,confuses,confiscate,confines,conduit,compress,combed,clouding,clamps,cinch,chinnery,celebratory,catalogs,carpenters,carnal,canin,bundys,bulldozer,buggers,bueller,brainy,booming,bookstores,bloodbath,bittersweet,bellhop,beeping,beanstalk,beady,baudelaire,bartenders,bargains,averted,armadillo,appreciating,appraised,antlers,aloof,allowances,alleyway,affleck,abject,zilch,youore,xanax,wrenching,wouldn,witted,wicca,whorehouse,whooo,whips,vouchers,victimized,vicodin,untested,unsolicited,unfocused,unfettered,unfeeling,unexplainable,understaffed,underbelly,tutorial,tryst,trampoline,towering,tirade,thieving,thang,swimmin,swayzak,suspecting,superstitions,stubbornness,streamers,strattman,stonewalling,stiffs,stacking,spout,splice,sonrisa,smarmy,slows,slicing,sisterly,shrill,shined,seeming,sedley,seatbelts,scour,scold,schoolyard,scarring,salieri,rustling,roxbury,rewire,revved,retriever,reputable,remodel,reins,reincarnation,rance,rafters,rackets,quail,pumbaa,proclaim,probing,privates,pried,prewedding,premeditation,posturing,posterity,pleasurable,pizzeria,pimps,penmanship,penchant,pelvis,overturn,overstepped,overcoat,ovens,outsmart,outed,ooohh,oncologist,omission,offhand,odour,nyazian,notarized,nobody'll,nightie,navel,nabbed,mystique,mover,mortician,morose,moratorium,mockingbird,mobsters,mingling,methinks,messengered,merde,masochist,martouf,martians,marinara,manray,majorly,magnifying,mackerel,lurid,lugging,lonnegan,loathsome,llantano,liberace,leprosy,latinos,lanterns,lamest,laferette,kraut,intestine,innocencia,inhibitions,ineffectual,indisposed,incurable,inconvenienced,inanimate,improbable,implode,hydrant,hustling,hustled,huevos,how'm,hooey,hoods,honcho,hinge,hijack,heimlich,hamunaptra,haladki,haiku,haggle,gutsy,grunting,grueling,gribbs,greevy,grandstanding,godparents,glows,glistening,gimmick,gaping,fraiser,formalities,foreigner,folders,foggy,fitty,fiends,fe'nos,favours,eyeing,extort,expedite,escalating,epinephrine,entitles,entice,eminence,eights,earthlings,eagerly,dunville,dugout,doublemeat,doling,dispensing,dispatcher,discoloration,diners,diddly,dictates,diazepam,derogatory,delights,defies,decoder,dealio,danson,cutthroat,crumbles,croissants,crematorium,craftsmanship,could'a,cordless,cools,conked,confine,concealing,complicates,communique,cockamamie,coasters,clobbered,clipping,clipboard,clemenza,cleanser,circumcision,chanukah,certainaly,cellmate,cancels,cadmium,buzzed,bumstead,bucko,browsing,broth,braver,boggling,bobbing,blurred,birkhead,benet,belvedere,bellies,begrudge,beckworth,banky,baldness,baggy,babysitters,aversion,astonished,assorted,appetites,angina,amiss,ambulances,alibis,airway,admires,adhesive,yoyou,xxxxxx,wreaked,wracking,woooo,wooing,wised,wilshire,wedgie,waging,violets,vincey,uplifting,untrustworthy,unmitigated,uneventful,undressing,underprivileged,unburden,umbilical,tweaking,turquoise,treachery,tosses,torching,toothpick,toasts,thickens,tereza,tenacious,teldar,taint,swill,sweatin,subtly,subdural,streep,stopwatch,stockholder,stillwater,stalkers,squished,squeegee,splinters,spliced,splat,spied,spackle,sophistication,snapshots,smite,sluggish,slithered,skeeters,sidewalks,sickly,shrugs,shrubbery,shrieking,shitless,settin,sentinels,selfishly,scarcely,sangria,sanctum,sahjhan,rustle,roving,rousing,rosomorf,riddled,responsibly,renoir,remoray,remedial,refundable,redirect,recheck,ravenwood,rationalizing,ramus,ramelle,quivering,pyjamas,psychos,provocations,prouder,protestors,prodded,proctologist,primordial,pricks,prickly,precedents,pentangeli,pathetically,parka,parakeet,panicky,overthruster,outsmarted,orthopedic,oncoming,offing,nutritious,nuthouse,nourishment,nibbling,newlywed,narcissist,mutilation,mundane,mummies,mumble,mowed,morvern,mortem,mopes,molasses,misplace,miscommunication,miney,midlife,menacing,memorizing,massaging,masking,magnets,luxuries,lounging,lothario,liposuction,lidocaine,libbets,levitate,leeway,launcelot,larek,lackeys,kumbaya,kryptonite,knapsack,keyhole,katarangura,juiced,jakey,ironclad,invoice,intertwined,interlude,interferes,injure,infernal,indeedy,incur,incorrigible,incantations,impediment,igloo,hysterectomy,hounded,hollering,hindsight,heebie,havesham,hasenfuss,hankering,hangers,hakuna,gutless,gusto,grubbing,grrrr,grazed,gratification,grandeur,gorak,godammit,gnawing,glanced,frostbite,frees,frazzled,fraulein,fraternizing,fortuneteller,formaldehyde,followup,foggiest,flunky,flickering,firecrackers,figger,fetuses,fates,eyeliner,extremities,extradited,expires,exceedingly,evaporate,erupt,epileptic,entrails,emporium,egregious,eggshells,easing,duwayne,droll,dreyfuss,dovey,doubly,doozy,donkeys,donde,distrust,distressing,disintegrate,discreetly,decapitated,dealin,deader,dashed,darkroom,dares,daddies,dabble,cushy,cupcakes,cuffed,croupier,croak,crapped,coursing,coolers,contaminate,consummated,construed,condos,concoction,compulsion,commish,coercion,clemency,clairvoyant,circulate,chesterton,checkered,charlatan,chaperones,categorically,cataracts,carano,capsules,capitalize,burdon,bullshitting,brewed,breathless,breasted,brainstorming,bossing,borealis,bonsoir,bobka,boast,blimp,bleep,bleeder,blackouts,bisque,billboards,beatings,bayberry,bashed,bamboozled,balding,baklava,baffled,backfires,babak,awkwardness,attest,attachments,apologizes,anyhoo,antiquated,alcante,advisable,aahhh,aaahh,zatarc,yearbooks,wuddya,wringing,womanhood,witless,winging,whatsa,wetting,waterproof,wastin,vogelman,vocation,vindicated,vigilance,vicariously,venza,vacuuming,utensils,uplink,unveil,unloved,unloading,uninhibited,unattached,tweaked,turnips,trinkets,toughen,toting,topside,terrors,terrify,technologically,tarnish,tagliati,szpilman,surly,supple,summation,suckin,stepmom,squeaking,splashmore,souffle,solitaire,solicitation,solarium,smokers,slugged,slobbering,skylight,skimpy,sinuses,silenced,sideburns,shrinkage,shoddy,shhhhhh,shelled,shareef,shangri,seuss,serenade,scuffle,scoff,scanners,sauerkraut,sardines,sarcophagus,salvy,rusted,russells,rowboat,rolfsky,ringside,respectability,reparations,renegotiate,reminisce,reimburse,regimen,raincoat,quibble,puzzled,purposefully,pubic,proofing,prescribing,prelim,poisons,poaching,personalized,personable,peroxide,pentonville,payphone,payoffs,paleontology,overflowing,oompa,oddest,objecting,o'hare,o'daniel,notches,nobody'd,nightstand,neutralized,nervousness,nerdy,needlessly,naquadah,nappy,nantucket,nambla,mountaineer,motherfuckin,morrie,monopolizing,mohel,mistreated,misreading,misbehave,miramax,minivan,milligram,milkshakes,metamorphosis,medics,mattresses,mathesar,matchbook,matata,marys,malucci,magilla,lymphoma,lowers,lordy,linens,lindenmeyer,limelight,leapt,laxative,lather,lapel,lamppost,laguardia,kindling,kegger,kawalsky,juries,jokin,jesminder,interning,innermost,injun,infallible,industrious,indulgence,incinerator,impossibility,impart,illuminate,iguanas,hypnotic,hyped,hospitable,hoses,homemaker,hirschmuller,helpers,headset,guardianship,guapo,grubby,granola,granddaddy,goren,goblet,gluttony,globes,giorno,getter,geritol,gassed,gaggle,foxhole,fouled,foretold,floorboards,flippers,flaked,fireflies,feedings,fashionably,farragut,fallback,facials,exterminate,excites,everything'll,evenin,ethically,ensue,enema,empath,eluded,eloquently,eject,edema,dumpling,droppings,dolled,distasteful,disputing,displeasure,disdain,deterrent,dehydration,defied,decomposing,dawned,dailies,custodian,crusts,crucifix,crowning,crier,crept,craze,crawls,couldn,correcting,corkmaster,copperfield,cooties,contraption,consumes,conspire,consenting,consented,conquers,congeniality,complains,communicator,commendable,collide,coladas,colada,clout,clooney,classifieds,clammy,civility,cirrhosis,chink,catskills,carvers,carpool,carelessness,cardio,carbs,capades,butabi,busmalis,burping,burdens,bunks,buncha,bulldozers,browse,brockovich,breakthroughs,bravado,boogety,blossoms,blooming,bloodsucker,blight,betterton,betrayer,belittle,beeps,bawling,barts,bartending,bankbooks,babish,atropine,assertive,armbrust,anyanka,annoyance,anemic,anago,airwaves,aimlessly,aaargh,aaand,yoghurt,writhing,workable,winking,winded,widen,whooping,whiter,whatya,wazoo,voila,virile,vests,vestibule,versed,vanishes,urkel,uproot,unwarranted,unscheduled,unparalleled,undergrad,tweedle,turtleneck,turban,trickery,transponder,toyed,townhouse,thyself,thunderstorm,thinning,thawed,tether,technicalities,tau'ri,tarnished,taffeta,tacked,systolic,swerve,sweepstakes,swabs,suspenders,superwoman,sunsets,succulent,subpoenas,stumper,stosh,stomachache,stewed,steppin,stepatech,stateside,spicoli,sparing,soulless,sonnets,sockets,snatching,smothering,slush,sloman,slashing,sitters,simpleton,sighs,sidra,sickens,shunned,shrunken,showbiz,shopped,shimmering,shagging,semblance,segue,sedation,scuzzlebutt,scumbags,screwin,scoundrels,scarsdale,scabs,saucers,saintly,saddened,runaways,runaround,rheya,resenting,rehashing,rehabilitated,regrettable,refreshed,redial,reconnecting,ravenous,raping,rafting,quandary,pylea,putrid,puffing,psychopathic,prunes,probate,prayin,pomegranate,plummeting,planing,plagues,pinata,pithy,perversion,personals,perched,peeps,peckish,pavarotti,pajama,packin,pacifier,overstepping,okama,obstetrician,nutso,nuance,normalcy,nonnegotiable,nomak,ninny,nines,nicey,newsflash,neutered,nether,negligee,necrosis,navigating,narcissistic,mylie,muses,momento,moisturizer,moderation,misinformed,misconception,minnifield,mikkos,methodical,mebbe,meager,maybes,matchmaking,masry,markovic,malakai,luzhin,lusting,lumberjack,loopholes,loaning,lightening,leotard,launder,lamaze,kubla,kneeling,kibosh,jumpsuit,joliet,jogger,janover,jakovasaurs,irreparable,innocently,inigo,infomercial,inexplicable,indispensable,impregnated,impossibly,imitating,hunches,hummus,houmfort,hothead,hostiles,hooves,hooligans,homos,homie,hisself,heyyy,hesitant,hangout,handsomest,handouts,hairless,gwennie,guzzling,guinevere,grungy,goading,glaring,gavel,gardino,gangrene,fruitful,friendlier,freckle,freakish,forthright,forearm,footnote,flops,fixer,firecracker,finito,figgered,fezzik,fastened,farfetched,fanciful,familiarize,faire,fahrenheit,extravaganza,exploratory,explanatory,everglades,eunuch,estas,escapade,erasers,emptying,embarassing,dweeb,dutiful,dumplings,dries,drafty,dollhouse,dismissing,disgraced,discrepancies,disbelief,disagreeing,digestion,didnt,deviled,deviated,demerol,delectable,decaying,decadent,dears,dateless,d'algout,cultivating,cryto,crumpled,crumbled,cronies,crease,craves,cozying,corduroy,congratulated,confidante,compressions,complicating,compadre,coerce,classier,chums,chumash,chivalrous,chinpoko,charred,chafing,celibacy,carted,carryin,carpeting,carotid,cannibals,candor,butterscotch,busts,busier,bullcrap,buggin,brookside,brodski,brassiere,brainwash,brainiac,botrelle,bonbon,boatload,blimey,blaring,blackness,bipartisan,bimbos,bigamist,biebe,biding,betrayals,bestow,bellerophon,bedpans,bassinet,basking,barzini,barnyard,barfed,backups,audited,asinine,asalaam,arouse,applejack,annoys,anchovies,ampule,alameida,aggravate,adage,accomplices,yokel,y'ever,wringer,witwer,withdrawals,windward,willfully,whorfin,whimsical,whimpering,weddin,weathered,warmest,wanton,volant,visceral,vindication,veggies,urinate,uproar,unwritten,unwrap,unsung,unsubstantiated,unspeakably,unscrupulous,unraveling,unquote,unqualified,unfulfilled,undetectable,underlined,unattainable,unappreciated,ummmm,ulcers,tylenol,tweak,turnin,tuatha,tropez,trellis,toppings,tootin,toodle,tinkering,thrives,thespis,theatrics,thatherton,tempers,tavington,tartar,tampon,swelled,sutures,sustenance,sunflowers,sublet,stubbins,strutting,strewn,stowaway,stoic,sternin,stabilizing,spiraling,spinster,speedometer,speakeasy,soooo,soiled,sneakin,smithereens,smelt,smacks,slaughterhouse,slacks,skids,sketching,skateboards,sizzling,sixes,sirree,simplistic,shouts,shorted,shoelace,sheeit,shards,shackled,sequestered,selmak,seduces,seclusion,seamstress,seabeas,scoops,scooped,scavenger,satch,s'more,rudeness,romancing,rioja,rifkin,rieper,revise,reunions,repugnant,replicating,repaid,renewing,relaxes,rekindle,regrettably,regenerate,reels,reciting,reappear,readin,ratting,rapes,rancher,rammed,rainstorm,railroading,queers,punxsutawney,punishes,pssst,prudy,proudest,protectors,procrastinating,proactive,priss,postmortem,pompoms,poise,pickings,perfectionist,peretti,people'll,pecking,patrolman,paralegal,paragraphs,paparazzi,pankot,pampering,overstep,overpower,outweigh,omnipotent,odious,nuwanda,nurtured,newsroom,neeson,needlepoint,necklaces,neato,muggers,muffler,mousy,mourned,mosey,mopey,mongolians,moldy,misinterpret,minibar,microfilm,mendola,mended,melissande,masturbating,masbath,manipulates,maimed,mailboxes,magnetism,m'lord,m'honey,lymph,lunge,lovelier,lefferts,leezak,ledgers,larraby,laloosh,kundun,kozinski,knockoff,kissin,kiosk,kennedys,kellman,karlo,kaleidoscope,jeffy,jaywalking,instructing,infraction,informer,infarction,impulsively,impressing,impersonated,impeach,idiocy,hyperbole,hurray,humped,huhuh,hsing,hordes,hoodlums,honky,hitchhiker,hideously,heaving,heathcliff,headgear,headboard,hazing,harem,handprint,hairspray,gutiurrez,goosebumps,gondola,glitches,gasping,frolic,freeways,frayed,fortitude,forgetful,forefathers,fonder,foiled,foaming,flossing,flailing,fitzgeralds,firehouse,finders,fiftieth,fellah,fawning,farquaad,faraway,fancied,extremists,exorcist,exhale,ethros,entrust,ennui,energized,encephalitis,embezzling,elster,elixir,electrolytes,duplex,dryers,drexl,dredging,drawback,don'ts,dobisch,divorcee,disrespected,disprove,disobeying,disinfectant,dingy,digress,dieting,dictating,devoured,devise,detonators,desist,deserter,derriere,deron,deceptive,debilitating,deathwok,daffodils,curtsy,cursory,cuppa,cumin,cronkite,cremation,credence,cranking,coverup,courted,countin,counselling,cornball,contentment,consensual,compost,cluett,cleverly,cleansed,cleanliness,chopec,chomp,chins,chime,cheswick,chessler,cheapest,chatted,cauliflower,catharsis,catchin,caress,camcorder,calorie,cackling,bystanders,buttoned,buttering,butted,buries,burgel,buffoon,brogna,bragged,boutros,bogeyman,blurting,blurb,blowup,bloodhound,blissful,birthmark,bigot,bestest,belted,belligerent,beggin,befall,beeswax,beatnik,beaming,barricade,baggoli,badness,awoke,artsy,artful,aroun,armpits,arming,annihilate,anise,angiogram,anaesthetic,amorous,ambiance,alligators,adoration,admittance,adama,abydos,zonked,zhivago,yorkin,wrongfully,writin,wrappers,worrywart,woops,wonderfalls,womanly,wickedness,whoopie,wholeheartedly,whimper,which'll,wheelchairs,what'ya,warranted,wallop,wading,wacked,virginal,vermouth,vermeil,verger,ventriss,veneer,vampira,utero,ushers,urgently,untoward,unshakable,unsettled,unruly,unlocks,ungodly,undue,uncooperative,uncontrollably,unbeatable,twitchy,tumbler,truest,triumphs,triplicate,tribbey,tortures,tongaree,tightening,thorazine,theres,testifies,teenaged,tearful,taxing,taldor,syllabus,swoops,swingin,suspending,sunburn,stuttering,stupor,strides,strategize,strangulation,stooped,stipulation,stingy,stapled,squeaks,squawking,spoilsport,splicing,spiel,spencers,spasms,spaniard,softener,sodding,soapbox,smoldering,smithbauer,skittish,sifting,sickest,sicilians,shuffling,shrivel,segretti,seeping,securely,scurrying,scrunch,scrote,screwups,schenkman,sawing,savin,satine,sapiens,salvaging,salmonella,sacrilege,rumpus,ruffle,roughing,rotted,rondall,ridding,rickshaw,rialto,rhinestone,restrooms,reroute,requisite,repress,rednecks,redeeming,rayed,ravell,raked,raincheck,raffi,racked,pushin,profess,prodding,procure,presuming,preppy,prednisone,potted,posttraumatic,poorhouse,podiatrist,plowed,pledging,playroom,plait,placate,pinback,picketing,photographing,pharoah,petrak,petal,persecuting,perchance,pellets,peeved,peerless,payable,pauses,pathologist,pagliacci,overwrought,overreaction,overqualified,overheated,outcasts,otherworldly,opinionated,oodles,oftentimes,occured,obstinate,nutritionist,numbness,nubile,nooooooo,nobodies,nepotism,neanderthals,mushu,mucus,mothering,mothballs,monogrammed,molesting,misspoke,misspelled,misconstrued,miscalculated,minimums,mince,mildew,mighta,middleman,mementos,mellowed,mayol,mauled,massaged,marmalade,mardi,makings,lundegaard,lovingly,loudest,lotto,loosing,loompa,looming,longs,loathes,littlest,littering,lifelike,legalities,laundered,lapdog,lacerations,kopalski,knobs,knitted,kittridge,kidnaps,kerosene,karras,jungles,jockeys,iranoff,invoices,invigorating,insolence,insincere,insectopia,inhumane,inhaling,ingrates,infestation,individuality,indeterminate,incomprehensible,inadequacy,impropriety,importer,imaginations,illuminating,ignite,hysterics,hypodermic,hyperventilate,hyperactive,humoring,honeymooning,honed,hoist,hoarding,hitching,hiker,hightail,hemoglobin,hell'd,heinie,growin,grasped,grandparent,granddaughters,gouged,goblins,gleam,glades,gigantor,get'em,geriatric,gatekeeper,gargoyles,gardenias,garcon,garbo,gallows,gabbing,futon,fulla,frightful,freshener,fortuitous,forceps,fogged,fodder,foamy,flogging,flaun,flared,fireplaces,feverish,favell,fattest,fattening,fallow,extraordinaire,evacuating,errant,envied,enchant,enamored,egocentric,dussander,dunwitty,dullest,dropout,dredged,dorsia,doornail,donot,dongs,dogged,dodgy,ditty,dishonorable,discriminating,discontinue,dings,dilly,dictation,dialysis,delly,delightfully,daryll,dandruff,cruddy,croquet,cringe,crimp,credo,crackling,courtside,counteroffer,counterfeiting,corrupting,copping,conveyor,contusions,contusion,conspirator,consoling,connoisseur,confetti,composure,compel,colic,coddle,cocksuckers,coattails,cloned,claustrophobia,clamoring,churn,chugga,chirping,chasin,chapped,chalkboard,centimeter,caymans,catheter,casings,caprica,capelli,cannolis,cannoli,camogli,camembert,butchers,butchered,busboys,bureaucrats,buckled,bubbe,brownstone,bravely,brackley,bouquets,botox,boozing,boosters,bodhi,blunders,blunder,blockage,biocyte,betrays,bested,beryllium,beheading,beggar,begbie,beamed,bastille,barstool,barricades,barbecues,barbecued,bandwagon,backfiring,bacarra,avenged,autopsies,aunties,associating,artichoke,arrowhead,appendage,apostrophe,antacid,ansel,annul,amuses,amped,amicable,amberg,alluring,adversaries,admirers,adlai,acupuncture,abnormality,aaaahhhh,zooming,zippity,zipping,zeroed,yuletide,yoyodyne,yengeese,yeahhh,wrinkly,wracked,withered,winks,windmills,whopping,wendle,weigart,waterworks,waterbed,watchful,wantin,wagging,waaah,vying,ventricle,varnish,vacuumed,unreachable,unprovoked,unmistakable,unfriendly,unfolding,underpaid,uncuff,unappealing,unabomber,typhoid,tuxedos,tushie,turds,tumnus,troubadour,trinium,treaters,treads,transpired,transgression,tought,thready,thins,thinners,techs,teary,tattaglia,tassels,tarzana,tanking,tablecloths,synchronize,symptomatic,sycophant,swimmingly,sweatshop,surfboard,superpowers,sunroom,sunblock,sugarplum,stupidly,strumpet,strapless,stooping,stools,stealthy,stalks,stairmaster,staffer,sshhh,squatting,squatters,spectacularly,sorbet,socked,sociable,snubbed,snorting,sniffles,snazzy,snakebite,smuggler,smorgasbord,smooching,slurping,slouch,slingshot,slaved,skimmed,sisterhood,silliest,sidarthur,sheraton,shebang,sharpening,shanghaied,shakers,sendoff,scurvy,scoliosis,scaredy,scagnetti,sawchuk,saugus,sasquatch,sandbag,saltines,s'pose,roston,rostle,riveting,ristle,rifling,revulsion,reverently,retrograde,restful,resents,reptilian,reorganize,renovating,reiterate,reinvent,reinmar,reibers,reechard,recuse,reconciling,recognizance,reclaiming,recitation,recieved,rebate,reacquainted,rascals,railly,quintuplets,quahog,pygmies,puzzling,punctuality,prosthetic,proms,probie,preys,preserver,preppie,poachers,plummet,plumbers,plannin,pitying,pitfalls,piqued,pinecrest,pinches,pillage,pigheaded,physique,pessimistic,persecute,perjure,percentile,pentothal,pensky,penises,peini,pazzi,pastels,parlour,paperweight,pamper,pained,overwhelm,overalls,outrank,outpouring,outhouse,outage,ouija,obstructed,obsessions,obeying,obese,o'riley,o'higgins,nosebleeds,norad,noooooooo,nononono,nonchalant,nippy,neurosis,nekhorvich,necronomicon,naquada,n'est,mystik,mystified,mumps,muddle,mothership,moped,monumentally,monogamous,mondesi,misogynistic,misinterpreting,mindlock,mending,megaphone,meeny,medicating,meanie,masseur,markstrom,marklars,margueritas,manifesting,maharajah,lukewarm,loveliest,loran,lizardo,liquored,lipped,lingers,limey,lemkin,leisurely,lathe,latched,lapping,ladle,krevlorneswath,kosygin,khakis,kenaru,keats,kaitlan,julliard,jollies,jaundice,jargon,jackals,invisibility,insipid,inflamed,inferiority,inexperience,incinerated,incinerate,incendiary,incan,inbred,implicating,impersonator,hunks,horsing,hooded,hippopotamus,hiked,hetson,hetero,hessian,henslowe,hendler,hellstrom,headstone,hayloft,harbucks,handguns,hallucinate,haldol,haggling,gynaecologist,gulag,guilder,guaranteeing,groundskeeper,grindstone,grimoir,grievance,griddle,gribbit,greystone,graceland,gooders,goeth,gentlemanly,gelatin,gawking,ganged,fukes,fromby,frenchmen,foursome,forsley,forbids,footwork,foothold,floater,flinging,flicking,fittest,fistfight,fireballs,fillings,fiddling,fennyman,felonious,felonies,feces,favoritism,fatten,fanatics,faceman,excusing,excepted,entwined,entree,ensconced,eladio,ehrlichman,easterland,dueling,dribbling,drape,downtrodden,doused,dosed,dorleen,dokie,distort,displeased,disown,dismount,disinherited,disarmed,disapproves,diperna,dined,diligent,dicaprio,depress,decoded,debatable,dealey,darsh,damsels,damning,dad'll,d'oeuvre,curlers,curie,cubed,crikey,crepes,countrymen,cornfield,coppers,copilot,copier,cooing,conspiracies,consigliere,condoning,commoner,commies,combust,comas,colds,clawed,clamped,choosy,chomping,chimps,chigorin,chianti,cheep,checkups,cheaters,celibate,cautiously,cautionary,castell,carpentry,caroling,carjacking,caritas,caregiver,cardiology,candlesticks,canasta,cain't,burro,burnin,bunking,bumming,bullwinkle,brummel,brooms,brews,breathin,braslow,bracing,botulism,boorish,bloodless,blayne,blatantly,blankie,bedbugs,becuase,barmaid,bared,baracus,banal,bakes,backpacks,attentions,atrocious,ativan,athame,asunder,astound,assuring,aspirins,asphyxiation,ashtrays,aryans,arnon,apprehension,applauding,anvil,antiquing,antidepressants,annoyingly,amputate,altruistic,alotta,alerting,afterthought,affront,affirm,actuality,abysmal,absentee,yeller,yakushova,wuzzy,wriggle,worrier,woogyman,womanizer,windpipe,windbag,willin,whisking,whimsy,wendall,weeny,weensy,weasels,watery,watcha,wasteful,waski,washcloth,waaay,vouched,viznick,ventriloquist,vendettas,veils,vayhue,vamanos,vadimus,upstage,uppity,unsaid,unlocking,unintentionally,undetected,undecided,uncaring,unbearably,tween,tryout,trotting,trini,trimmings,trickier,treatin,treadstone,trashcan,transcendent,tramps,townsfolk,torturous,torrid,toothpicks,tolerable,tireless,tiptoeing,timmay,tillinghouse,tidying,tibia,thumbing,thrusters,thrashing,these'll,thatos,testicular,teriyaki,tenors,tenacity,tellers,telemetry,tarragon,switchblade,swicker,swells,sweatshirts,swatches,surging,supremely,sump'n,succumb,subsidize,stumbles,stuffs,stoppin,stipulate,stenographer,steamroll,stasis,stagger,squandered,splint,splendidly,splashy,splashing,specter,sorcerers,somewheres,somber,snuggled,snowmobile,sniffed,snags,smugglers,smudged,smirking,smearing,slings,sleet,sleepovers,sleek,slackers,siree,siphoning,singed,sincerest,sickened,shuffled,shriveled,shorthanded,shittin,shish,shipwrecked,shins,sheetrock,shawshank,shamu,sha're,servitude,sequins,seascape,scrapings,scoured,scorching,sandpaper,saluting,salud,ruffled,roughnecks,rougher,rosslyn,rosses,roost,roomy,romping,revolutionize,reprimanded,refute,refrigerated,reeled,redundancies,rectal,recklessly,receding,reassignment,reapers,readout,ration,raring,ramblings,raccoons,quarantined,purging,punters,psychically,premarital,pregnancies,predisposed,precautionary,pollute,podunk,plums,plaything,pixilated,pitting,piranhas,pieced,piddles,pickled,photogenic,phosphorous,pffft,pestilence,pessimist,perspiration,perps,penticoff,passageways,pardons,panics,pancamo,paleontologist,overwhelms,overstating,overpaid,overdid,outlive,orthodontist,orgies,oreos,ordover,ordinates,ooooooh,oooohhh,omelettes,officiate,obtuse,obits,nymph,novocaine,noooooooooo,nipping,nilly,nightstick,negate,neatness,natured,narcotic,narcissism,namun,nakatomi,murky,muchacho,mouthwash,motzah,morsel,morph,morlocks,mooch,moloch,molest,mohra,modus,modicum,mockolate,misdemeanors,miscalculation,middies,meringue,mercilessly,meditating,mayakovsky,maximillian,marlee,markovski,maniacal,maneuvered,magnificence,maddening,lutze,lunged,lovelies,lorry,loosening,lookee,littered,lilac,lightened,laces,kurzon,kurtzweil,kind've,kimono,kenji,kembu,keanu,kazuo,jonesing,jilted,jiggling,jewelers,jewbilee,jacqnoud,jacksons,ivories,insurmountable,innocuous,innkeeper,infantery,indulged,indescribable,incoherent,impervious,impertinent,imperfections,hunnert,huffy,horsies,horseradish,hollowed,hogwash,hockley,hissing,hiromitsu,hidin,hereafter,helpmann,hehehe,haughty,happenings,hankie,handsomely,halliwells,haklar,haise,gunsights,grossly,grope,grocer,grits,gripping,grabby,glorificus,gizzard,gilardi,gibarian,geminon,gasses,garnish,galloping,gairwyn,futterman,futility,fumigated,fruitless,friendless,freon,foregone,forego,floored,flighty,flapjacks,fizzled,ficus,festering,farbman,fabricate,eyghon,extricate,exalted,eventful,esophagus,enterprising,entail,endor,emphatically,embarrasses,electroshock,easel,duffle,drumsticks,dissection,dissected,disposing,disparaging,disorientation,disintegrated,disarming,devoting,dessaline,deprecating,deplorable,delve,degenerative,deduct,decomposed,deathly,dearie,daunting,dankova,cyclotron,cyberspace,cutbacks,culpable,cuddled,crumpets,cruelly,crouching,cranium,cramming,cowering,couric,cordesh,conversational,conclusively,clung,clotting,cleanest,chipping,chimpanzee,chests,cheapen,chainsaws,censure,catapult,caravaggio,carats,captivating,calrissian,butlers,busybody,bussing,bunion,bulimic,budging,brung,browbeat,brokenhearted,brecher,breakdowns,bracebridge,boning,blowhard,blisters,blackboard,bigotry,bialy,bhamra,bended,begat,battering,baste,basquiat,barricaded,barometer,balled,baited,badenweiler,backhand,ascenscion,argumentative,appendicitis,apparition,anxiously,antagonistic,angora,anacott,amniotic,ambience,alonna,aleck,akashic,ageless,abouts,aawwww,aaaaarrrrrrggghhh,aaaaaa,zendi,yuppies,yodel,y'hear,wrangle,wombosi,wittle,withstanding,wisecracks,wiggling,wierd,whittlesley,whipper,whattya,whatsamatter,whatchamacallit,whassup,whad'ya,weakling,warfarin,waponis,wampum,wadn't,vorash,vizzini,virtucon,viridiana,veracity,ventilated,varicose,varcon,vandalized,vamos,vamoose,vaccinated,vacationing,usted,urinal,uppers,unwittingly,unsealed,unplanned,unhinged,unhand,unfathomable,unequivocally,unbreakable,unadvisedly,udall,tynacorp,tuxes,tussle,turati,tunic,tsavo,trussed,troublemakers,trollop,tremors,transsexual,transfusions,toothbrushes,toned,toddlers,tinted,tightened,thundering,thorpey,this'd,thespian,thaddius,tenuous,tenths,tenement,telethon,teleprompter,teaspoon,taunted,tattle,tardiness,taraka,tappy,tapioca,tapeworm,talcum,tacks,swivel,swaying,superpower,summarize,sumbitch,sultry,suburbia,styrofoam,stylings,strolls,strobe,stockpile,stewardesses,sterilized,sterilize,stealin,stakeouts,squawk,squalor,squabble,sprinkled,sportsmanship,spokes,spiritus,sparklers,spareribs,sowing,sororities,sonovabitch,solicit,softy,softness,softening,snuggling,snatchers,snarling,snarky,snacking,smears,slumped,slowest,slithering,sleazebag,slayed,slaughtering,skidded,skated,sivapathasundaram,sissies,silliness,silences,sidecar,sicced,shylock,shtick,shrugged,shriek,shoves,should'a,shortcake,shockingly,shirking,shaves,shatner,sharpener,shapely,shafted,sexless,septum,selflessness,seabea,scuff,screwball,scoping,scooch,scolding,schnitzel,schemed,scalper,santy,sankara,sanest,salesperson,sakulos,safehouse,sabers,runes,rumblings,rumbling,ruijven,ringers,righto,rhinestones,retrieving,reneging,remodelling,relentlessly,regurgitate,refills,reeking,reclusive,recklessness,recanted,ranchers,rafer,quaking,quacks,prophesied,propensity,profusely,problema,prided,prays,postmark,popsicles,poodles,pollyanna,polaroids,pokes,poconos,pocketful,plunging,plugging,pleeease,platters,pitied,pinetti,piercings,phooey,phonies,pestering,periscope,pentagram,pelts,patronized,paramour,paralyze,parachutes,pales,paella,paducci,owatta,overdone,overcrowded,overcompensating,ostracized,ordinate,optometrist,operandi,omens,okayed,oedipal,nuttier,nuptial,nunheim,noxious,nourish,notepad,nitroglycerin,nibblet,neuroses,nanosecond,nabbit,mythic,munchkins,multimillion,mulroney,mucous,muchas,mountaintop,morlin,mongorians,moneybags,mom'll,molto,mixup,misgivings,mindset,michalchuk,mesmerized,merman,mensa,meaty,mbwun,materialize,materialistic,masterminded,marginally,mapuhe,malfunctioning,magnify,macnamara,macinerney,machinations,macadamia,lysol,lurks,lovelorn,lopsided,locator,litback,litany,linea,limousines,limes,lighters,liebkind,levity,levelheaded,letterhead,lesabre,leron,lepers,lefts,leftenant,laziness,layaway,laughlan,lascivious,laryngitis,lapsed,landok,laminated,kurten,kobol,knucklehead,knowed,knotted,kirkeby,kinsa,karnovsky,jolla,jimson,jettison,jeric,jawed,jankis,janitors,jango,jalopy,jailbreak,jackers,jackasses,invalidate,intercepting,intercede,insinuations,infertile,impetuous,impaled,immerse,immaterial,imbeciles,imagines,idyllic,idolized,icebox,i'd've,hypochondriac,hyphen,hurtling,hurried,hunchback,hullo,horsting,hoooo,homeboys,hollandaise,hoity,hijinks,hesitates,herrero,herndorff,helplessly,heeyy,heathen,hearin,headband,harrassment,harpies,halstrom,hahahahaha,hacer,grumbling,grimlocks,grift,greets,grandmothers,grander,grafts,gordievsky,gondorff,godorsky,glscripts,gaudy,gardeners,gainful,fuses,fukienese,frizzy,freshness,freshening,fraught,frantically,foxbooks,fortieth,forked,foibles,flunkies,fleece,flatbed,fisted,firefight,fingerpaint,filibuster,fhloston,fenceline,femur,fatigues,fanucci,fantastically,familiars,falafel,fabulously,eyesore,expedient,ewwww,eviscerated,erogenous,epidural,enchante,embarassed,embarass,embalming,elude,elspeth,electrocute,eigth,eggshell,echinacea,eases,earpiece,earlobe,dumpsters,dumbshit,dumbasses,duloc,duisberg,drummed,drinkers,dressy,dorma,doily,divvy,diverting,dissuade,disrespecting,displace,disorganized,disgustingly,discord,disapproving,diligence,didja,diced,devouring,detach,destructing,desolate,demerits,delude,delirium,degrade,deevak,deemesa,deductions,deduce,debriefed,deadbeats,dateline,darndest,damnable,dalliance,daiquiri,d'agosta,cussing,cryss,cripes,cretins,crackerjack,cower,coveting,couriers,countermission,cotswolds,convertibles,conversationalist,consorting,consoled,consarn,confides,confidentially,commited,commiserate,comme,comforter,comeuppance,combative,comanches,colosseum,colling,coexist,coaxing,cliffside,chutes,chucked,chokes,childlike,childhoods,chickening,chenowith,charmingly,changin,catsup,captioning,capsize,cappucino,capiche,candlewell,cakewalk,cagey,caddie,buxley,bumbling,bulky,buggered,brussel,brunettes,brumby,brotha,bronck,brisket,bridegroom,braided,bovary,bookkeeper,bluster,bloodline,blissfully,blase,billionaires,bicker,berrisford,bereft,berating,berate,bendy,belive,belated,beikoku,beens,bedspread,bawdy,barreling,baptize,banya,balthazar,balmoral,bakshi,bails,badgered,backstreet,awkwardly,auras,attuned,atheists,astaire,assuredly,arrivederci,appetit,appendectomy,apologetic,antihistamine,anesthesiologist,amulets,albie,alarmist,aiight,adstream,admirably,acquaint,abound,abominable,aaaaaaah,zekes,zatunica,wussy,worded,wooed,woodrell,wiretap,windowsill,windjammer,windfall,whisker,whims,whatiya,whadya,weirdly,weenies,waunt,washout,wanto,waning,victimless,verdad,veranda,vandaley,vancomycin,valise,vaguest,upshot,unzip,unwashed,untrained,unstuck,unprincipled,unmentionables,unjustly,unfolds,unemployable,uneducated,unduly,undercut,uncovering,unconsciousness,unconsciously,tyndareus,turncoat,turlock,tulle,tryouts,trouper,triplette,trepkos,tremor,treeger,trapeze,traipse,tradeoff,trach,torin,tommorow,tollan,toity,timpani,thumbprint,thankless,tell'em,telepathy,telemarketing,telekinesis,teevee,teeming,tarred,tambourine,talentless,swooped,switcheroo,swirly,sweatpants,sunstroke,suitors,sugarcoat,subways,subterfuge,subservient,subletting,stunningly,strongbox,striptease,stravanavitch,stradling,stoolie,stodgy,stocky,stifle,stealer,squeezes,squatter,squarely,sprouted,spool,spindly,speedos,soups,soundly,soulmates,somebody'll,soliciting,solenoid,sobering,snowflakes,snowballs,snores,slung,slimming,skulk,skivvies,skewered,skewer,sizing,sistine,sidebar,sickos,shushing,shunt,shugga,shone,shol'va,sharpened,shapeshifter,shadowing,shadoe,selectman,sefelt,seared,scrounging,scribbling,scooping,scintillating,schmoozing,scallops,sapphires,sanitarium,sanded,safes,rudely,roust,rosebush,rosasharn,rondell,roadhouse,riveted,rewrote,revamp,retaliatory,reprimand,replicators,replaceable,remedied,relinquishing,rejoicing,reincarnated,reimbursed,reevaluate,redid,redefine,recreating,reconnected,rebelling,reassign,rearview,rayne,ravings,ratso,rambunctious,radiologist,quiver,quiero,queef,qualms,pyrotechnics,pulsating,psychosomatic,proverb,promiscuous,profanity,prioritize,preying,predisposition,precocious,precludes,prattling,prankster,povich,potting,postpartum,porridge,polluting,plowing,pistachio,pissin,pickpocket,physicals,peruse,pertains,personified,personalize,perjured,perfecting,pepys,pepperdine,pembry,peering,peels,pedophile,patties,passkey,paratrooper,paraphernalia,paralyzing,pandering,paltry,palpable,pagers,pachyderm,overstay,overestimated,overbite,outwit,outgrow,outbid,ooops,oomph,oohhh,oldie,obliterate,objectionable,nygma,notting,noches,nitty,nighters,newsstands,newborns,neurosurgery,nauseated,nastiest,narcolepsy,mutilate,muscled,murmur,mulva,mulling,mukada,muffled,morgues,moonbeams,monogamy,molester,molestation,molars,moans,misprint,mismatched,mirth,mindful,mimosas,millander,mescaline,menstrual,menage,mellowing,medevac,meddlesome,matey,manicures,malevolent,madmen,macaroons,lydell,lycra,lunchroom,lunching,lozenges,looped,litigious,liquidate,linoleum,lingk,limitless,limber,lilacs,ligature,liftoff,lemmiwinks,leggo,learnin,lazarre,lawyered,lactose,knelt,kenosha,kemosabe,jussy,junky,jordy,jimmies,jeriko,jakovasaur,issacs,isabela,irresponsibility,ironed,intoxication,insinuated,inherits,ingest,ingenue,inflexible,inflame,inevitability,inedible,inducement,indignant,indictments,indefensible,incomparable,incommunicado,improvising,impounded,illogical,ignoramus,hydrochloric,hydrate,hungover,humorless,humiliations,hugest,hoverdrone,hovel,hmmph,hitchhike,hibernating,henchman,helloooo,heirlooms,heartsick,headdress,hatches,harebrained,hapless,hanen,handsomer,hallows,habitual,guten,gummy,guiltier,guidebook,gstaad,gruff,griss,grieved,grata,gorignak,goosed,goofed,glowed,glitz,glimpses,glancing,gilmores,gianelli,geraniums,garroway,gangbusters,gamblers,galls,fuddy,frumpy,frowning,frothy,fro'tak,frere,fragrances,forgettin,follicles,flowery,flophouse,floatin,flirts,flings,flatfoot,fingerprinting,fingerprinted,fingering,finald,fillet,fianc,femoral,federales,fawkes,fascinates,farfel,fambly,falsified,fabricating,exterminators,expectant,excusez,excrement,excercises,evian,etins,esophageal,equivalency,equate,equalizer,entrees,enquire,endearment,empathetic,emailed,eggroll,earmuffs,dyslexic,duper,duesouth,drunker,druggie,dreadfully,dramatics,dragline,downplay,downers,dominatrix,doers,docket,docile,diversify,distracts,disloyalty,disinterested,discharging,disagreeable,dirtier,dinghy,dimwitted,dimoxinil,dimmy,diatribe,devising,deviate,detriment,desertion,depressants,depravity,deniability,delinquents,defiled,deepcore,deductive,decimate,deadbolt,dauthuille,dastardly,daiquiris,daggers,dachau,curiouser,curdled,cucamonga,cruller,cruces,crosswalk,crinkle,crescendo,cremate,counseled,couches,cornea,corday,copernicus,contrition,contemptible,constipated,conjoined,confounded,condescend,concoct,conch,compensating,committment,commandeered,comely,coddled,cockfight,cluttered,clunky,clownfish,cloaked,clenched,cleanin,civilised,circumcised,cimmeria,cilantro,chutzpah,chucking,chiseled,chicka,chattering,cervix,carrey,carpal,carnations,cappuccinos,candied,calluses,calisthenics,bushy,burners,budington,buchanans,brimming,braids,boycotting,bouncers,botticelli,botherin,bookkeeping,bogyman,bogged,bloodthirsty,blintzes,blanky,binturong,billable,bigboote,bewildered,betas,bequeath,behoove,befriend,bedpost,bedded,baudelaires,barreled,barboni,barbeque,bangin,baltus,bailout,backstabber,baccarat,awning,augie,arguillo,archway,apricots,apologising,annyong,anchorman,amenable,amazement,allspice,alannis,airfare,airbags,ahhhhhhhhh,ahhhhhhhh,ahhhhhhh,agitator,adrenal,acidosis,achoo,accessorizing,accentuate,abrasions,abductor,aaaahhh,aaaaaaaa,aaaaaaa,zeroing,zelner,zeldy,yevgeny,yeska,yellows,yeesh,yeahh,yamuri,wouldn't've,workmanship,woodsman,winnin,winked,wildness,whoring,whitewash,whiney,when're,wheezer,wheelman,wheelbarrow,westerburg,weeding,watermelons,washboard,waltzes,wafting,voulez,voluptuous,vitone,vigilantes,videotaping,viciously,vices,veruca,vermeer,verifying,vasculitis,valets,upholstered,unwavering,untold,unsympathetic,unromantic,unrecognizable,unpredictability,unmask,unleashing,unintentional,unglued,unequivocal,underrated,underfoot,unchecked,unbutton,unbind,unbiased,unagi,uhhhhh,tugging,triads,trespasses,treehorn,traviata,trappers,transplants,trannie,tramping,tracheotomy,tourniquet,tooty,toothless,tomarrow,toasters,thruster,thoughtfulness,thornwood,tengo,tenfold,telltale,telephoto,telephoned,telemarketer,tearin,tastic,tastefully,tasking,taser,tamed,tallow,taketh,taillight,tadpoles,tachibana,syringes,sweated,swarthy,swagger,surges,supermodels,superhighway,sunup,sun'll,sulfa,sugarless,sufficed,subside,strolled,stringy,strengthens,straightest,straightens,storefront,stopper,stockpiling,stimulant,stiffed,steyne,sternum,stepladder,stepbrother,steers,steelheads,steakhouse,stathis,stankylecartmankennymr,standoffish,stalwart,squirted,spritz,sprig,sprawl,spousal,sphincter,spenders,spearmint,spatter,spangled,southey,soured,sonuvabitch,somethng,snuffed,sniffs,smokescreen,smilin,slobs,sleepwalker,sleds,slays,slayage,skydiving,sketched,skanks,sixed,siphoned,siphon,simpering,sigfried,sidearm,siddons,sickie,shuteye,shuffleboard,shrubberies,shrouded,showmanship,shouldn't've,shoplift,shiatsu,sentries,sentance,sensuality,seething,secretions,searing,scuttlebutt,sculpt,scowling,scouring,scorecard,schoolers,schmucks,scepters,scaly,scalps,scaffolding,sauces,sartorius,santen,salivating,sainthood,saget,saddens,rygalski,rusting,ruination,rueland,rudabaga,rottweiler,roofies,romantics,rollerblading,roldy,roadshow,rickets,rible,rheza,revisiting,retentive,resurface,restores,respite,resounding,resorting,resists,repulse,repressing,repaying,reneged,refunds,rediscover,redecorated,reconstructive,recommitted,recollect,receptacle,reassess,reanimation,realtors,razinin,rationalization,ratatouille,rashum,rasczak,rancheros,rampler,quizzing,quips,quartered,purring,pummeling,puede,proximo,prospectus,pronouncing,prolonging,procreation,proclamations,principled,prides,preoccupation,prego,precog,prattle,pounced,potshots,potpourri,porque,pomegranates,polenta,plying,pluie,plesac,playmates,plantains,pillowcase,piddle,pickers,photocopied,philistine,perpetuate,perpetually,perilous,pawned,pausing,pauper,parter,parlez,parlay,pally,ovulation,overtake,overstate,overpowering,overpowered,overconfident,overbooked,ovaltine,outweighs,outings,ottos,orrin,orifice,orangutan,oopsy,ooooooooh,oooooo,ooohhhh,ocular,obstruct,obscenely,o'dwyer,nutjob,nunur,notifying,nostrand,nonny,nonfat,noblest,nimble,nikes,nicht,newsworthy,nestled,nearsighted,ne'er,nastier,narco,nakedness,muted,mummified,mudda,mozzarella,moxica,motivator,motility,mothafucka,mortmain,mortgaged,mores,mongers,mobbed,mitigating,mistah,misrepresented,mishke,misfortunes,misdirection,mischievous,mineshaft,millaney,microwaves,metzenbaum,mccovey,masterful,masochistic,marliston,marijawana,manya,mantumbi,malarkey,magnifique,madrona,madox,machida,m'hidi,lullabies,loveliness,lotions,looka,lompoc,litterbug,litigator,lithe,liquorice,linds,limericks,lightbulb,lewises,letch,lemec,layover,lavatory,laurels,lateness,laparotomy,laboring,kuato,kroff,krispy,krauts,knuckleheads,kitschy,kippers,kimbrow,keypad,keepsake,kebab,karloff,junket,judgemental,jointed,jezzie,jetting,jeeze,jeeter,jeesus,jeebs,janeane,jails,jackhammer,ixnay,irritates,irritability,irrevocable,irrefutable,irked,invoking,intricacies,interferon,intents,insubordinate,instructive,instinctive,inquisitive,inlay,injuns,inebriated,indignity,indecisive,incisors,incacha,inalienable,impresses,impregnate,impregnable,implosion,idolizes,hypothyroidism,hypoglycemic,huseni,humvee,huddling,honing,hobnobbing,hobnob,histrionics,histamine,hirohito,hippocratic,hindquarters,hikita,hikes,hightailed,hieroglyphics,heretofore,herbalist,hehey,hedriks,heartstrings,headmistress,headlight,hardheaded,happend,handlebars,hagitha,habla,gyroscope,guys'd,guy'd,guttersnipe,grump,growed,grovelling,groan,greenbacks,gravedigger,grating,grasshoppers,grandiose,grandest,grafted,gooood,goood,gooks,godsakes,goaded,glamorama,giveth,gingham,ghostbusters,germane,georgy,gazzo,gazelles,gargle,garbled,galgenstein,gaffe,g'day,fyarl,furnish,furies,fulfills,frowns,frowned,frighteningly,freebies,freakishly,forewarned,foreclose,forearms,fordson,fonics,flushes,flitting,flemmer,flabby,fishbowl,fidgeting,fevers,feigning,faxing,fatigued,fathoms,fatherless,fancier,fanatical,factored,eyelid,eyeglasses,expresso,expletive,expectin,excruciatingly,evidentiary,ever'thing,eurotrash,eubie,estrangement,erlich,epitome,entrap,enclose,emphysema,embers,emasculating,eighths,eardrum,dyslexia,duplicitous,dumpty,dumbledore,dufus,duddy,duchamp,drunkenness,drumlin,drowns,droid,drinky,drifts,drawbridge,dramamine,douggie,douchebag,dostoyevsky,doodling,don'tcha,domineering,doings,dogcatcher,doctoring,ditzy,dissimilar,dissecting,disparage,disliking,disintegrating,dishwalla,dishonored,dishing,disengaged,disavowed,dippy,diorama,dimmed,dilate,digitalis,diggory,dicing,diagnosing,devola,desolation,dennings,denials,deliverance,deliciously,delicacies,degenerates,degas,deflector,defile,deference,decrepit,deciphered,dawdle,dauphine,daresay,dangles,dampen,damndest,cucumbers,cucaracha,cryogenically,croaks,croaked,criticise,crisper,creepiest,creams,crackle,crackin,covertly,counterintelligence,corrosive,cordially,cops'll,convulsions,convoluted,conversing,conga,confrontational,confab,condolence,condiments,complicit,compiegne,commodus,comings,cometh,collusion,collared,cockeyed,clobber,clemonds,clarithromycin,cienega,christmasy,christmassy,chloroform,chippie,chested,cheeco,checklist,chauvinist,chandlers,chambermaid,chakras,cellophane,caveat,cataloguing,cartmanland,carples,carny,carded,caramels,cappy,caped,canvassing,callback,calibrated,calamine,buttermilk,butterfingers,bunsen,bulimia,bukatari,buildin,budged,brobich,bringer,brendell,brawling,bratty,braised,boyish,boundless,botch,boosh,bookies,bonbons,bodes,bobunk,bluntly,blossoming,bloomers,bloodstains,bloodhounds,blech,biter,biometric,bioethics,bijan,bigoted,bicep,bereaved,bellowing,belching,beholden,beached,batmobile,barcodes,barch,barbecuing,bandanna,backwater,backtrack,backdraft,augustino,atrophy,atrocity,atley,atchoo,asthmatic,assoc,armchair,arachnids,aptly,appetizing,antisocial,antagonizing,anorexia,anini,andersons,anagram,amputation,alleluia,airlock,aimless,agonized,agitate,aggravating,aerosol,acing,accomplishing,accidently,abuser,abstain,abnormally,aberration,aaaaahh,zlotys,zesty,zerzura,zapruder,zantopia,yelburton,yeess,y'knowwhati'msayin,wwhat,wussies,wrenched,would'a,worryin,wormser,wooooo,wookiee,wolchek,wishin,wiseguys,windbreaker,wiggy,wieners,wiedersehen,whoopin,whittled,wherefore,wharvey,welts,wellstone,wedges,wavered,watchit,wastebasket,wango,waken,waitressed,wacquiem,vrykolaka,voula,vitally,visualizing,viciousness,vespers,vertes,verily,vegetarians,vater,vaporize,vannacutt,vallens,ussher,urinating,upping,unwitting,untangle,untamed,unsanitary,unraveled,unopened,unisex,uninvolved,uninteresting,unintelligible,unimaginative,undeserving,undermines,undergarments,unconcerned,tyrants,typist,tykes,tybalt,twosome,twits,tutti,turndown,tularemia,tuberculoma,tsimshian,truffaut,truer,truant,trove,triumphed,tripe,trigonometry,trifled,trifecta,tribulations,tremont,tremoille,transcends,trafficker,touchin,tomfoolery,tinkered,tinfoil,tightrope,thousan,thoracotomy,thesaurus,thawing,thatta,tessio,temps,taxidermist,tator,tachycardia,t'akaya,swelco,sweetbreads,swatting,supercollider,sunbathing,summarily,suffocation,sueleen,succinct,subsided,submissive,subjecting,subbing,subatomic,stupendous,stunted,stubble,stubbed,streetwalker,strategizing,straining,straightaway,stoli,stiffer,stickup,stens,steamroller,steadwell,steadfast,stateroom,stans,sshhhh,squishing,squinting,squealed,sprouting,sprimp,spreadsheets,sprawled,spotlights,spooning,spirals,speedboat,spectacles,speakerphone,southglen,souse,soundproof,soothsayer,sommes,somethings,solidify,soars,snorted,snorkeling,snitches,sniping,snifter,sniffin,snickering,sneer,snarl,smila,slinking,slanted,slanderous,slammin,skimp,skilosh,siteid,sirloin,singe,sighing,sidekicks,sicken,showstopper,shoplifter,shimokawa,sherborne,shavadai,sharpshooters,sharking,shagged,shaddup,senorita,sesterces,sensuous,seahaven,scullery,scorcher,schotzie,schnoz,schmooze,schlep,schizo,scents,scalping,scalped,scallop,scalding,sayeth,saybrooke,sawed,savoring,sardine,sandstorm,sandalwood,salutations,sagman,s'okay,rsvp'd,rousted,rootin,romper,romanovs,rollercoaster,rolfie,robinsons,ritzy,ritualistic,ringwald,rhymed,rheingold,rewrites,revoking,reverts,retrofit,retort,retinas,respirations,reprobate,replaying,repaint,renquist,renege,relapsing,rekindled,rejuvenating,rejuvenated,reinstating,recriminations,rechecked,reassemble,rears,reamed,reacquaint,rayanne,ravish,rathole,raspail,rarest,rapists,rants,racketeer,quittin,quitters,quintessential,queremos,quellek,quelle,quasimodo,pyromaniac,puttanesca,puritanical,purer,puree,pungent,pummel,puedo,psychotherapist,prosecutorial,prosciutto,propositioning,procrastination,probationary,primping,preventative,prevails,preservatives,preachy,praetorians,practicality,powders,potus,postop,positives,poser,portolano,portokalos,poolside,poltergeists,pocketed,poach,plummeted,plucking,plimpton,playthings,plastique,plainclothes,pinpointed,pinkus,pinks,pigskin,piffle,pictionary,piccata,photocopy,phobias,perignon,perfumes,pecks,pecked,patently,passable,parasailing,paramus,papier,paintbrush,pacer,paaiint,overtures,overthink,overstayed,overrule,overestimate,overcooked,outlandish,outgrew,outdoorsy,outdo,orchestrate,oppress,opposable,oooohh,oomupwah,okeydokey,okaaay,ohashi,of'em,obscenities,oakie,o'gar,nurection,nostradamus,norther,norcom,nooch,nonsensical,nipped,nimbala,nervously,neckline,nebbleman,narwhal,nametag,n'n't,mycenae,muzak,muumuu,mumbled,mulvehill,muggings,muffet,mouthy,motivates,motaba,moocher,mongi,moley,moisturize,mohair,mocky,mmkay,mistuh,missis,misdeeds,mincemeat,miggs,miffed,methadone,messieur,menopausal,menagerie,mcgillicuddy,mayflowers,matrimonial,matick,masai,marzipan,maplewood,manzelle,mannequins,manhole,manhandle,malfunctions,madwoman,machiavelli,lynley,lynched,lurconis,lujack,lubricant,looove,loons,loofah,lonelyhearts,lollipops,lineswoman,lifers,lexter,lepner,lemony,leggy,leafy,leadeth,lazerus,lazare,lawford,languishing,lagoda,ladman,kundera,krinkle,krendler,kreigel,kowolski,knockdown,knifed,kneed,kneecap,kids'll,kennie,kenmore,keeled,kazootie,katzenmoyer,kasdan,karak,kapowski,kakistos,julyan,jockstrap,jobless,jiggly,jaunt,jarring,jabbering,irrigate,irrevocably,irrationally,ironies,invitro,intimated,intently,intentioned,intelligently,instill,instigator,instep,inopportune,innuendoes,inflate,infects,infamy,indiscretions,indiscreet,indio,indignities,indict,indecision,inconspicuous,inappropriately,impunity,impudent,impotence,implicates,implausible,imperfection,impatience,immutable,immobilize,idealist,iambic,hysterically,hyperspace,hygienist,hydraulics,hydrated,huzzah,husks,hunched,huffed,hubris,hubbub,hovercraft,houngan,hosed,horoscopes,hopelessness,hoodwinked,honorably,honeysuckle,homegirl,holiest,hippity,hildie,hieroglyphs,hexton,herein,heckle,heaping,healthilizer,headfirst,hatsue,harlot,hardwired,halothane,hairstyles,haagen,haaaaa,gutting,gummi,groundless,groaning,gristle,grills,graynamore,grabbin,goodes,goggle,glittering,glint,gleaming,glassy,girth,gimbal,giblets,gellers,geezers,geeze,garshaw,gargantuan,garfunkel,gangway,gandarium,gamut,galoshes,gallivanting,gainfully,gachnar,fusionlips,fusilli,furiously,frugal,fricking,frederika,freckling,frauds,fountainhead,forthwith,forgo,forgettable,foresight,foresaw,fondling,fondled,fondle,folksy,fluttering,fluffing,floundering,flirtatious,flexing,flatterer,flaring,fixating,finchy,figurehead,fiendish,fertilize,ferment,fending,fellahs,feelers,fascinate,fantabulous,falsify,fallopian,faithless,fairer,fainter,failings,facetious,eyepatch,exxon,extraterrestrials,extradite,extracurriculars,extinguish,expunged,expelling,exorbitant,exhilarated,exertion,exerting,excercise,everbody,evaporated,escargot,escapee,erases,epizootics,epithelials,ephrum,entanglements,enslave,engrossed,emphatic,emeralds,ember,emancipated,elevates,ejaculate,effeminate,eccentricities,easygoing,earshot,dunks,dullness,dulli,dulled,drumstick,dropper,driftwood,dregs,dreck,dreamboat,draggin,downsizing,donowitz,dominoes,diversions,distended,dissipate,disraeli,disqualify,disowned,dishwashing,disciplining,discerning,disappoints,dinged,digested,dicking,detonating,despising,depressor,depose,deport,dents,defused,deflecting,decryption,decoys,decoupage,decompress,decibel,decadence,deafening,dawning,dater,darkened,dappy,dallying,dagon,czechoslovakians,cuticles,cuteness,cupboards,culottes,cruisin,crosshairs,cronyn,criminalistics,creatively,creaming,crapping,cranny,cowed,contradicting,constipation,confining,confidences,conceiving,conceivably,concealment,compulsively,complainin,complacent,compels,communing,commode,comming,commensurate,columnists,colonoscopy,colchicine,coddling,clump,clubbed,clowning,cliffhanger,clang,cissy,choosers,choker,chiffon,channeled,chalet,cellmates,cathartic,caseload,carjack,canvass,canisters,candlestick,candlelit,camry,calzones,calitri,caldy,byline,butterball,bustier,burlap,bureaucrat,buffoons,buenas,brookline,bronzed,broiled,broda,briss,brioche,briar,breathable,brays,brassieres,boysenberry,bowline,boooo,boonies,booklets,bookish,boogeyman,boogey,bogas,boardinghouse,bluuch,blundering,bluer,blowed,blotchy,blossomed,bloodwork,bloodied,blithering,blinks,blathering,blasphemous,blacking,birdson,bings,bfmid,bfast,bettin,berkshires,benjamins,benevolence,benched,benatar,bellybutton,belabor,behooves,beddy,beaujolais,beattle,baxworth,baseless,barfing,bannish,bankrolled,banek,ballsy,ballpoint,baffling,badder,badda,bactine,backgammon,baako,aztreonam,authoritah,auctioning,arachtoids,apropos,aprons,apprised,apprehensive,anythng,antivenin,antichrist,anorexic,anoint,anguished,angioplasty,angio,amply,ampicillin,amphetamines,alternator,alcove,alabaster,airlifted,agrabah,affidavits,admonished,admonish,addled,addendum,accuser,accompli,absurdity,absolved,abrusso,abreast,aboot,abductions,abducting,aback,ababwa,aaahhhh,zorin,zinthar,zinfandel,zillions,zephyrs,zatarcs,zacks,youuu,yokels,yardstick,yammer,y'understand,wynette,wrung,wreaths,wowed,wouldn'ta,worming,wormed,workday,woodsy,woodshed,woodchuck,wojadubakowski,withering,witching,wiseass,wiretaps,wining,willoby,wiccaning,whupped,whoopi,whoomp,wholesaler,whiteness,whiner,whatchya,wharves,wenus,weirdoes,weaning,watusi,waponi,waistband,wackos,vouching,votre,vivica,viveca,vivant,vivacious,visor,visitin,visage,vicrum,vetted,ventriloquism,venison,varnsen,vaporized,vapid,vanstock,uuuuh,ushering,urologist,urination,upstart,uprooted,unsubtitled,unspoiled,unseat,unseasonably,unseal,unsatisfying,unnerve,unlikable,unleaded,uninsured,uninspired,unicycle,unhooked,unfunny,unfreezing,unflattering,unfairness,unexpressed,unending,unencumbered,unearth,undiscovered,undisciplined,understan,undershirt,underlings,underline,undercurrent,uncivilized,uncharacteristic,umpteenth,uglies,tuney,trumps,truckasaurus,trubshaw,trouser,tringle,trifling,trickster,trespassers,trespasser,traumas,trattoria,trashes,transgressions,trampling,tp'ed,toxoplasmosis,tounge,tortillas,topsy,topple,topnotch,tonsil,tions,timmuh,timithious,tilney,tighty,tightness,tightens,tidbits,ticketed,thyme,threepio,thoughtfully,thorkel,thommo,thing'll,thefts,that've,thanksgivings,tetherball,testikov,terraforming,tepid,tendonitis,tenboom,telex,teenybopper,tattered,tattaglias,tanneke,tailspin,tablecloth,swooping,swizzle,swiping,swindled,swilling,swerving,sweatshops,swaddling,swackhammer,svetkoff,supossed,superdad,sumptuous,sugary,sugai,subvert,substantiate,submersible,sublimating,subjugation,stymied,strychnine,streetlights,strassmans,stranglehold,strangeness,straddling,straddle,stowaways,stotch,stockbrokers,stifling,stepford,steerage,steena,statuary,starlets,staggeringly,ssshhh,squaw,spurt,spungeon,spritzer,sprightly,sprays,sportswear,spoonful,splittin,splitsville,speedily,specialise,spastic,sparrin,souvlaki,southie,sourpuss,soupy,soundstage,soothes,somebody'd,softest,sociopathic,socialized,snyders,snowmobiles,snowballed,snatches,smugness,smoothest,smashes,sloshed,sleight,skyrocket,skied,skewed,sixpence,sipowicz,singling,simulates,shyness,shuvanis,showoff,shortsighted,shopkeeper,shoehorn,shithouse,shirtless,shipshape,shifu,shelve,shelbyville,sheepskin,sharpens,shaquille,shanshu,servings,sequined,seizes,seashells,scrambler,scopes,schnauzer,schmo,schizoid,scampered,savagely,saudis,santas,sandovals,sanding,saleswoman,sagging,s'cuse,rutting,ruthlessly,runneth,ruffians,rubes,rosalita,rollerblades,rohypnol,roasts,roadies,ritten,rippling,ripples,rigoletto,richardo,rethought,reshoot,reserving,reseda,rescuer,reread,requisitions,repute,reprogram,replenish,repetitious,reorganizing,reinventing,reinvented,reheat,refrigerators,reenter,recruiter,recliner,rawdy,rashes,rajeski,raison,raisers,rages,quinine,questscape,queller,pygmalion,pushers,pusan,purview,pumpin,pubescent,prudes,provolone,propriety,propped,procrastinate,processional,preyed,pretrial,portent,pooling,poofy,polloi,policia,poacher,pluses,pleasuring,platitudes,plateaued,plaguing,pittance,pinheads,pincushion,pimply,pimped,piggyback,piecing,phillipe,philipse,philby,pharaohs,petyr,petitioner,peshtigo,pesaram,persnickety,perpetrate,percolating,pepto,penne,penell,pemmican,peeks,pedaling,peacemaker,pawnshop,patting,pathologically,patchouli,pasts,pasties,passin,parlors,paltrow,palamon,padlock,paddling,oversleep,overheating,overdosed,overcharge,overblown,outrageously,ornery,opportune,oooooooooh,oohhhh,ohhhhhh,ogres,odorless,obliterated,nyong,nymphomaniac,ntozake,novocain,nough,nonnie,nonissue,nodules,nightmarish,nightline,niceties,newsman,needra,nedry,necking,navour,nauseam,nauls,narim,namath,nagged,naboo,n'sync,myslexia,mutator,mustafi,musketeer,murtaugh,murderess,munching,mumsy,muley,mouseville,mortifying,morgendorffers,moola,montel,mongoloid,molestered,moldings,mocarbies,mo'ss,mixers,misrell,misnomer,misheard,mishandled,miscreant,misconceptions,miniscule,millgate,mettle,metricconverter,meteors,menorah,mengele,melding,meanness,mcgruff,mcarnold,matzoh,matted,mastectomy,massager,marveling,marooned,marmaduke,marick,manhandled,manatees,man'll,maltin,maliciously,malfeasance,malahide,maketh,makeovers,maiming,machismo,lumpectomy,lumbering,lucci,lording,lorca,lookouts,loogie,loners,loathed,lissen,lighthearted,lifer,lickin,lewen,levitation,lestercorp,lessee,lentils,legislate,legalizing,lederhosen,lawmen,lasskopf,lardner,lambeau,lamagra,ladonn,lactic,lacquer,labatier,krabappel,kooks,knickknacks,klutzy,kleynach,klendathu,kinross,kinkaid,kind'a,ketch,kesher,karikos,karenina,kanamits,junshi,jumbled,joust,jotted,jobson,jingling,jigalong,jerries,jellies,jeeps,javna,irresistable,internist,intercranial,inseminated,inquisitor,infuriate,inflating,infidelities,incessantly,incensed,incase,incapacitate,inasmuch,inaccuracies,imploding,impeding,impediments,immaturity,illegible,iditarod,icicles,ibuprofen,i'i'm,hymie,hydrolase,hunker,humps,humons,humidor,humdinger,humbling,huggin,huffing,housecleaning,hothouse,hotcakes,hosty,hootenanny,hootchie,hoosegow,honks,honeymooners,homily,homeopathic,hitchhikers,hissed,hillnigger,hexavalent,hewwo,hershe,hermey,hergott,henny,hennigans,henhouse,hemolytic,helipad,heifer,hebrews,hebbing,heaved,headlock,harrowing,harnessed,hangovers,handi,handbasket,halfrek,hacene,gyges,guys're,gundersons,gumption,gruntmaster,grubs,grossie,groped,grins,greaseball,gravesite,gratuity,granma,grandfathers,grandbaby,gradski,gracing,gossips,gooble,goners,golitsyn,gofer,godsake,goddaughter,gnats,gluing,glares,givers,ginza,gimmie,gimmee,gennero,gemme,gazpacho,gazed,gassy,gargling,gandhiji,galvanized,gallbladder,gaaah,furtive,fumigation,fucka,fronkonsteen,frills,freezin,freewald,freeloader,frailty,forger,foolhardy,fondest,fomin,followin,follicle,flotation,flopping,floodgates,flogged,flicked,flenders,fleabag,fixings,fixable,fistful,firewater,firelight,fingerbang,finalizing,fillin,filipov,fiderer,felling,feldberg,feign,faunia,fatale,farkus,fallible,faithfulness,factoring,eyeful,extramarital,exterminated,exhume,exasperated,eviscerate,estoy,esmerelda,escapades,epoxy,enticed,enthused,entendre,engrossing,endorphins,emptive,emmys,eminently,embezzler,embarressed,embarrassingly,embalmed,eludes,eling,elated,eirie,egotitis,effecting,eerily,eecom,eczema,earthy,earlobes,eally,dyeing,dwells,duvet,duncans,dulcet,droves,droppin,drools,drey'auc,downriver,domesticity,dollop,doesnt,dobler,divulged,diversionary,distancing,dispensers,disorienting,disneyworld,dismissive,disingenuous,disheveled,disfiguring,dinning,dimming,diligently,dilettante,dilation,dickensian,diaphragms,devastatingly,destabilize,desecrate,deposing,deniece,demony,delving,delicates,deigned,defraud,deflower,defibrillator,defiantly,defenceless,defacing,deconstruction,decompose,deciphering,decibels,deceptively,deceptions,decapitation,debutantes,debonair,deadlier,dawdling,davic,darwinism,darnit,darks,danke,danieljackson,dangled,cytoxan,cutout,cutlery,curveball,curfews,cummerbund,crunches,crouched,crisps,cripples,crilly,cribs,crewman,creepin,creeds,credenza,creak,crawly,crawlin,crawlers,crated,crackheads,coworker,couldn't've,corwins,coriander,copiously,convenes,contraceptives,contingencies,contaminating,conniption,condiment,concocting,comprehending,complacency,commendatore,comebacks,com'on,collarbone,colitis,coldly,coiffure,coffers,coeds,codependent,cocksucking,cockney,cockles,clutched,closeted,cloistered,cleve,cleats,clarifying,clapped,cinnabar,chunnel,chumps,cholinesterase,choirboy,chocolatey,chlamydia,chigliak,cheesie,chauvinistic,chasm,chartreuse,charo,charnier,chapil,chalked,chadway,certifiably,cellulite,celled,cavalcade,cataloging,castrated,cassio,cashews,cartouche,carnivore,carcinogens,capulet,captivated,capt'n,cancellations,campin,callate,callar,caffeinated,cadavers,cacophony,cackle,buzzes,buttoning,busload,burglaries,burbs,buona,bunions,bullheaded,buffs,bucyk,buckling,bruschetta,browbeating,broomsticks,broody,bromly,brolin,briefings,brewskies,breathalyzer,breakups,bratwurst,brania,braiding,brags,braggin,bradywood,bottomed,bossa,bordello,bookshelf,boogida,bondsman,bolder,boggles,bludgeoned,blowtorch,blotter,blips,blemish,bleaching,blainetologists,blading,blabbermouth,birdseed,bimmel,biloxi,biggly,bianchinni,betadine,berenson,belus,belloq,begets,befitting,beepers,beelzebub,beefed,bedridden,bedevere,beckons,beaded,baubles,bauble,battleground,bathrobes,basketballs,basements,barroom,barnacle,barkin,barked,baretta,bangles,bangler,banality,bambang,baltar,ballplayers,bagman,baffles,backroom,babysat,baboons,averse,audiotape,auctioneer,atten,atcha,astonishment,arugula,arroz,antihistamines,annoyances,anesthesiology,anatomically,anachronism,amiable,amaretto,allahu,alight,aimin,ailment,afterglow,affronte,advil,adrenals,actualization,acrost,ached,accursed,accoutrements,absconded,aboveboard,abetted,aargh,aaaahh,zuwicky,zolda,ziploc,zakamatak,youve,yippie,yesterdays,yella,yearns,yearnings,yearned,yawning,yalta,yahtzee,y'mean,y'are,wuthering,wreaks,worrisome,workiiing,wooooooo,wonky,womanizing,wolodarsky,wiwith,withdraws,wishy,wisht,wipers,wiper,winos,windthorne,windsurfing,windermere,wiggled,wiggen,whwhat,whodunit,whoaaa,whittling,whitesnake,whereof,wheezing,wheeze,whatd'ya,whataya,whammo,whackin,wellll,weightless,weevil,wedgies,webbing,weasly,wayside,waxes,waturi,washy,washrooms,wandell,waitaminute,waddya,waaaah,vornac,vishnoor,virulent,vindictiveness,vinceres,villier,vigeous,vestigial,ventilate,vented,venereal,veering,veered,veddy,vaslova,valosky,vailsburg,vaginas,vagas,urethra,upstaged,uploading,unwrapping,unwieldy,untapped,unsatisfied,unquenchable,unnerved,unmentionable,unlovable,unknowns,uninformed,unimpressed,unhappily,unguarded,unexplored,undergarment,undeniably,unclench,unclaimed,uncharacteristically,unbuttoned,unblemished,ululd,uhhhm,tweeze,tutsami,tushy,tuscarora,turkle,turghan,turbinium,tubers,trucoat,troxa,tropicana,triquetra,trimmers,triceps,trespassed,traya,traumatizing,transvestites,trainors,tradin,trackers,townies,tourelles,toucha,tossin,tortious,topshop,topes,tonics,tongs,tomsk,tomorrows,toiling,toddle,tizzy,tippers,timmi,thwap,thusly,ththe,thrusts,throwers,throwed,throughway,thickening,thermonuclear,thelwall,thataway,terrifically,tendons,teleportation,telepathically,telekinetic,teetering,teaspoons,tarantulas,tapas,tanned,tangling,tamales,tailors,tahitian,tactful,tachy,tablespoon,syrah,synchronicity,synch,synapses,swooning,switchman,swimsuits,sweltering,sweetly,suvolte,suslov,surfed,supposition,suppertime,supervillains,superfluous,superego,sunspots,sunning,sunless,sundress,suckah,succotash,sublevel,subbasement,studious,striping,strenuously,straights,stonewalled,stillness,stilettos,stevesy,steno,steenwyck,stargates,stammering,staedert,squiggly,squiggle,squashing,squaring,spreadsheet,spramp,spotters,sporto,spooking,splendido,spittin,spirulina,spiky,spate,spartacus,spacerun,soonest,something'll,someth,somepin,someone'll,sofas,soberly,sobered,snowmen,snowbank,snowballing,snivelling,sniffling,snakeskin,snagging,smush,smooter,smidgen,smackers,slumlord,slossum,slimmer,slighted,sleepwalk,sleazeball,skokie,skeptic,sitarides,sistah,sipped,sindell,simpletons,simony,silkwood,silks,silken,sightless,sideboard,shuttles,shrugging,shrouds,showy,shoveled,shouldn'ta,shoplifters,shitstorm,sheeny,shapetype,shaming,shallows,shackle,shabbily,shabbas,seppuku,senility,semite,semiautomatic,selznick,secretarial,sebacio,scuzzy,scummy,scrutinized,scrunchie,scribbled,scotches,scolded,scissor,schlub,scavenging,scarin,scarfing,scallions,scald,savour,savored,saute,sarcoidosis,sandbar,saluted,salish,saith,sailboats,sagittarius,sacre,saccharine,sacamano,rushdie,rumpled,rumba,rulebook,rubbers,roughage,rotisserie,rootie,roofy,roofie,romanticize,rittle,ristorante,rippin,rinsing,ringin,rincess,rickety,reveling,retest,retaliating,restorative,reston,restaurateur,reshoots,resetting,resentments,reprogramming,repossess,repartee,renzo,remore,remitting,remeber,relaxants,rejuvenate,rejections,regenerated,refocus,referrals,reeno,recycles,recrimination,reclining,recanting,reattach,reassigning,razgul,raved,rattlesnakes,rattles,rashly,raquetball,ransack,raisinettes,raheem,radisson,radishes,raban,quoth,qumari,quints,quilts,quilting,quien,quarreled,purty,purblind,punchbowl,publically,psychotics,psychopaths,psychoanalyze,pruning,provasik,protectin,propping,proportioned,prophylactic,proofed,prompter,procreate,proclivities,prioritizing,prinze,pricked,press'll,presets,prescribes,preocupe,prejudicial,prefex,preconceived,precipice,pralines,pragmatist,powerbar,pottie,pottersville,potsie,potholes,posses,posies,portkey,porterhouse,pornographers,poring,poppycock,poppers,pomponi,pokin,poitier,podiatry,pleeze,pleadings,playbook,platelets,plane'arium,placebos,place'll,pistachios,pirated,pinochle,pineapples,pinafore,pimples,piggly,piddling,picon,pickpockets,picchu,physiologically,physic,phobic,philandering,phenomenally,pheasants,pewter,petticoat,petronis,petitioning,perturbed,perpetuating,permutat,perishable,perimeters,perfumed,percocet,per'sus,pepperjack,penalize,pelting,pellet,peignoir,pedicures,peckers,pecans,pawning,paulsson,pattycake,patrolmen,patois,pathos,pasted,parishioner,parcheesi,parachuting,papayas,pantaloons,palpitations,palantine,paintballing,overtired,overstress,oversensitive,overnights,overexcited,overanxious,overachiever,outwitted,outvoted,outnumber,outlast,outlander,out've,orphey,orchestrating,openers,ooooooo,okies,ohhhhhhhhh,ohhhhhhhh,ogling,offbeat,obsessively,obeyed,o'hana,o'bannon,o'bannion,numpce,nummy,nuked,nuances,nourishing,nosedive,norbu,nomlies,nomine,nixed,nihilist,nightshift,newmeat,neglectful,neediness,needin,naphthalene,nanocytes,nanite,naivete,n'yeah,mystifying,myhnegon,mutating,musing,mulled,muggy,muerto,muckraker,muchachos,mountainside,motherless,mosquitos,morphed,mopped,moodoo,moncho,mollem,moisturiser,mohicans,mocks,mistresses,misspent,misinterpretation,miscarry,minuses,mindee,mimes,millisecond,milked,mightn't,mightier,mierzwiak,microchips,meyerling,mesmerizing,mershaw,meecrob,medicate,meddled,mckinnons,mcgewan,mcdunnough,mcats,mbien,matzah,matriarch,masturbated,masselin,martialed,marlboros,marksmanship,marinate,marchin,manicured,malnourished,malign,majorek,magnon,magnificently,macking,machiavellian,macdougal,macchiato,macaws,macanaw,m'self,lydells,lusts,lucite,lubricants,lopper,lopped,loneliest,lonelier,lomez,lojack,loath,liquefy,lippy,limps,likin,lightness,liesl,liebchen,licious,libris,libation,lhamo,leotards,leanin,laxatives,lavished,latka,lanyard,lanky,landmines,lameness,laddies,lacerated,labored,l'amour,kreskin,kovitch,kournikova,kootchy,konoss,knknow,knickety,knackety,kmart,klicks,kiwanis,kissable,kindergartners,kilter,kidnet,kid'll,kicky,kickbacks,kickback,kholokov,kewpie,kendo,katra,kareoke,kafelnikov,kabob,junjun,jumba,julep,jordie,jondy,jolson,jenoff,jawbone,janitorial,janiro,ipecac,invigorated,intruded,intros,intravenously,interruptus,interrogations,interject,interfacing,interestin,insuring,instilled,insensitivity,inscrutable,inroads,innards,inlaid,injector,ingratitude,infuriates,infra,infliction,indelicate,incubators,incrimination,inconveniencing,inconsolable,incestuous,incas,incarcerate,inbreeding,impudence,impressionists,impeached,impassioned,imipenem,idling,idiosyncrasies,icebergs,hypotensive,hydrochloride,hushed,humus,humph,hummm,hulking,hubcaps,hubald,howya,howbout,how'll,housebroken,hotwire,hotspots,hotheaded,horrace,hopsfield,honto,honkin,honeymoons,homewrecker,hombres,hollers,hollerin,hoedown,hoboes,hobbling,hobble,hoarse,hinky,highlighters,hexes,heru'ur,hernias,heppleman,hell're,heighten,heheheheheh,heheheh,hedging,heckling,heckled,heavyset,heatshield,heathens,heartthrob,headpiece,hayseed,haveo,hauls,hasten,harridan,harpoons,hardens,harcesis,harbouring,hangouts,halkein,haleh,halberstam,hairnet,hairdressers,hacky,haaaa,h'yah,gusta,gushy,gurgling,guilted,gruel,grudging,grrrrrr,grosses,groomsmen,griping,gravest,gratified,grated,goulash,goopy,goona,goodly,godliness,godawful,godamn,glycerin,glutes,glowy,globetrotters,glimpsed,glenville,glaucoma,girlscout,giraffes,gilbey,gigglepuss,ghora,gestating,gelato,geishas,gearshift,gayness,gasped,gaslighting,garretts,garba,gablyczyck,g'head,fumigating,fumbling,fudged,fuckwad,fuck're,fuchsia,fretting,freshest,frenchies,freezers,fredrica,fraziers,fraidy,foxholes,fourty,fossilized,forsake,forfeits,foreclosed,foreal,footsies,florists,flopped,floorshow,floorboard,flinching,flecks,flaubert,flatware,flatulence,flatlined,flashdance,flail,flagging,fiver,fitzy,fishsticks,finetti,finelli,finagle,filko,fieldstone,fibber,ferrini,feedin,feasting,favore,fathering,farrouhk,farmin,fairytale,fairservice,factoid,facedown,fabled,eyeballin,extortionist,exquisitely,expedited,exorcise,existentialist,execs,exculpatory,exacerbate,everthing,eventuality,evander,euphoric,euphemisms,estamos,erred,entitle,enquiries,enormity,enfants,endive,encyclopedias,emulating,embittered,effortless,ectopic,ecirc,easely,earphones,earmarks,dweller,durslar,durned,dunois,dunking,dunked,dumdum,dullard,dudleys,druthers,druggist,drossos,drooled,driveways,drippy,dreamless,drawstring,drang,drainpipe,dozing,dotes,dorkface,doorknobs,doohickey,donnatella,doncha,domicile,dokos,dobermans,dizzying,divola,ditsy,distaste,disservice,dislodged,dislodge,disinherit,disinformation,discounting,dinka,dimly,digesting,diello,diddling,dictatorships,dictators,diagnostician,devours,devilishly,detract,detoxing,detours,detente,destructs,desecrated,derris,deplore,deplete,demure,demolitions,demean,delish,delbruck,delaford,degaulle,deftly,deformity,deflate,definatly,defector,decrypted,decontamination,decapitate,decanter,dardis,dampener,damme,daddy'll,dabbling,dabbled,d'etre,d'argent,d'alene,d'agnasti,czechoslovakian,cymbal,cyberdyne,cutoffs,cuticle,curvaceous,curiousity,crowing,crowed,croutons,cropped,criminy,crescentis,crashers,cranwell,coverin,courtrooms,countenance,cosmically,cosign,corroboration,coroners,cornflakes,copperpot,copperhead,copacetic,coordsize,convulsing,consults,conjures,congenial,concealer,compactor,commercialism,cokey,cognizant,clunkers,clumsily,clucking,cloves,cloven,cloths,clothe,clods,clocking,clings,clavicle,classless,clashing,clanking,clanging,clamping,civvies,citywide,circulatory,circuited,chronisters,chromic,choos,chloroformed,chillun,cheesed,chatterbox,chaperoned,channukah,cerebellum,centerpieces,centerfold,ceecee,ccedil,cavorting,cavemen,cauterized,cauldwell,catting,caterine,cassiopeia,carves,cartwheel,carpeted,carob,caressing,carelessly,careening,capricious,capitalistic,capillaries,candidly,camaraderie,callously,calfskin,caddies,buttholes,busywork,busses,burps,burgomeister,bunkhouse,bungchow,bugler,buffets,buffed,brutish,brusque,bronchitis,bromden,brolly,broached,brewskis,brewin,brean,breadwinner,brana,bountiful,bouncin,bosoms,borgnine,bopping,bootlegs,booing,bombosity,bolting,boilerplate,bluey,blowback,blouses,bloodsuckers,bloodstained,bloat,bleeth,blackface,blackest,blackened,blacken,blackballed,blabs,blabbering,birdbrain,bipartisanship,biodegradable,biltmore,bilked,big'uns,bidet,besotted,bernheim,benegas,bendiga,belushi,bellboys,belittling,behinds,begone,bedsheets,beckoning,beaute,beaudine,beastly,beachfront,bathes,batak,baser,baseballs,barbella,bankrolling,bandaged,baerly,backlog,backin,babying,azkaban,awwwww,aviary,authorizes,austero,aunty,attics,atreus,astounded,astonish,artemus,arses,arintero,appraiser,apathetic,anybody'd,anxieties,anticlimactic,antar,anglos,angleman,anesthetist,androscoggin,andolini,andale,amway,amuck,amniocentesis,amnesiac,americano,amara,alvah,altruism,alternapalooza,alphabetize,alpaca,allus,allergist,alexandros,alaikum,akimbo,agoraphobia,agides,aggrhh,aftertaste,adoptions,adjuster,addictions,adamantium,activator,accomplishes,aberrant,aaaaargh,aaaaaaaaaaaaa,a'ight,zzzzzzz,zucchini,zookeeper,zirconia,zippers,zequiel,zellary,zeitgeist,zanuck,zagat,you'n,ylang,yes'm,yenta,yecchh,yecch,yawns,yankin,yahdah,yaaah,y'got,xeroxed,wwooww,wristwatch,wrangled,wouldst,worthiness,worshiping,wormy,wormtail,wormholes,woosh,wollsten,wolfing,woefully,wobbling,wintry,wingding,windstorm,windowtext,wiluna,wilting,wilted,willick,willenholly,wildflowers,wildebeest,whyyy,whoppers,whoaa,whizzing,whizz,whitest,whistled,whist,whinny,wheelies,whazzup,whatwhatwhaaat,whato,whatdya,what'dya,whacks,wewell,wetsuit,welluh,weeps,waylander,wavin,wassail,wasnt,warneford,warbucks,waltons,wallbanger,waiving,waitwait,vowing,voucher,vornoff,vorhees,voldemort,vivre,vittles,vindaloo,videogames,vichyssoise,vicarious,vesuvius,verguenza,ven't,velveteen,velour,velociraptor,vastness,vasectomies,vapors,vanderhof,valmont,validates,valiantly,vacuums,usurp,usernum,us'll,urinals,unyielding,unvarnished,unturned,untouchables,untangled,unsecured,unscramble,unreturned,unremarkable,unpretentious,unnerstand,unmade,unimpeachable,unfashionable,underwrite,underlining,underling,underestimates,underappreciated,uncouth,uncork,uncommonly,unclog,uncircumcised,unchallenged,uncas,unbuttoning,unapproved,unamerican,unafraid,umpteen,umhmm,uhwhy,ughuh,typewriters,twitches,twitched,twirly,twinkling,twinges,twiddling,turners,turnabout,tumblin,tryed,trowel,trousseau,trivialize,trifles,tribianni,trenchcoat,trembled,traumatize,transitory,transients,transfuse,transcribing,tranq,trampy,traipsed,trainin,trachea,traceable,touristy,toughie,toscanini,tortola,tortilla,torreon,toreador,tommorrow,tollbooth,tollans,toidy,togas,tofurkey,toddling,toddies,toasties,toadstool,to've,tingles,timin,timey,timetables,tightest,thuggee,thrusting,thrombus,throes,thrifty,thornharts,thinnest,thicket,thetas,thesulac,tethered,testaburger,tersenadine,terrif,terdlington,tepui,temping,tector,taxidermy,tastebuds,tartlets,tartabull,tar'd,tantamount,tangy,tangles,tamer,tabula,tabletops,tabithia,szechwan,synthedyne,svenjolly,svengali,survivalists,surmise,surfboards,surefire,suprise,supremacists,suppositories,superstore,supercilious,suntac,sunburned,summercliff,sullied,sugared,suckle,subtleties,substantiated,subsides,subliminal,subhuman,strowman,stroked,stroganoff,streetlight,straying,strainer,straighter,straightener,stoplight,stirrups,stewing,stereotyping,stepmommy,stephano,stashing,starshine,stairwells,squatsie,squandering,squalid,squabbling,squab,sprinkling,spreader,spongy,spokesmen,splintered,spittle,spitter,spiced,spews,spendin,spect,spearchucker,spatulas,southtown,soused,soshi,sorter,sorrowful,sooth,some'in,soliloquy,soiree,sodomized,sobriki,soaping,snows,snowcone,snitching,snitched,sneering,snausages,snaking,smoothed,smoochies,smarten,smallish,slushy,slurring,sluman,slithers,slippin,sleuthing,sleeveless,skinless,skillfully,sketchbook,skagnetti,sista,sinning,singularly,sinewy,silverlake,siguto,signorina,sieve,sidearms,shying,shunning,shtud,shrieks,shorting,shortbread,shopkeepers,shmancy,shizzit,shitheads,shitfaced,shipmates,shiftless,shelving,shedlow,shavings,shatters,sharifa,shampoos,shallots,shafter,sha'nauc,sextant,serviceable,sepsis,senores,sendin,semis,semanski,selflessly,seinfelds,seers,seeps,seductress,secaucus,sealant,scuttling,scusa,scrunched,scissorhands,schreber,schmancy,scamps,scalloped,savoir,savagery,sarong,sarnia,santangel,samool,sallow,salino,safecracker,sadism,sacrilegious,sabrini,sabath,s'aright,ruttheimer,rudest,rubbery,rousting,rotarian,roslin,roomed,romari,romanica,rolltop,rolfski,rockettes,roared,ringleader,riffing,ribcage,rewired,retrial,reting,resuscitated,restock,resale,reprogrammed,replicant,repentant,repellant,repays,repainting,renegotiating,rendez,remem,relived,relinquishes,relearn,relaxant,rekindling,rehydrate,refueled,refreshingly,refilling,reexamine,reeseman,redness,redeemable,redcoats,rectangles,recoup,reciprocated,reassessing,realy,realer,reachin,re'kali,rawlston,ravages,rappaports,ramoray,ramming,raindrops,rahesh,radials,racists,rabartu,quiches,quench,quarreling,quaintly,quadrants,putumayo,put'em,purifier,pureed,punitis,pullout,pukin,pudgy,puddings,puckering,pterodactyl,psychodrama,psats,protestations,protectee,prosaic,propositioned,proclivity,probed,printouts,prevision,pressers,preset,preposition,preempt,preemie,preconceptions,prancan,powerpuff,potties,potpie,poseur,porthole,poops,pooping,pomade,polyps,polymerized,politeness,polisher,polack,pocketknife,poatia,plebeian,playgroup,platonically,platitude,plastering,plasmapheresis,plaids,placemats,pizzazz,pintauro,pinstripes,pinpoints,pinkner,pincer,pimento,pileup,pilates,pigmen,pieeee,phrased,photocopies,phoebes,philistines,philanderer,pheromone,phasers,pfeffernuesse,pervs,perspire,personify,perservere,perplexed,perpetrating,perkiness,perjurer,periodontist,perfunctory,perdido,percodan,pentameter,pentacle,pensive,pensione,pennybaker,pennbrooke,penhall,pengin,penetti,penetrates,pegnoir,peeve,peephole,pectorals,peckin,peaky,peaksville,paxcow,paused,patted,parkishoff,parkers,pardoning,paraplegic,paraphrasing,paperers,papered,pangs,paneling,palooza,palmed,palmdale,palatable,pacify,pacified,owwwww,oversexed,overrides,overpaying,overdrawn,overcompensate,overcomes,overcharged,outmaneuver,outfoxed,oughtn't,ostentatious,oshun,orthopedist,or'derves,ophthalmologist,operagirl,oozes,oooooooh,onesie,omnis,omelets,oktoberfest,okeydoke,ofthe,ofher,obstetrical,obeys,obeah,o'henry,nyquil,nyanyanyanyah,nuttin,nutsy,nutball,nurhachi,numbskull,nullifies,nullification,nucking,nubbin,nourished,nonspecific,noing,noinch,nohoho,nobler,nitwits,newsprint,newspaperman,newscaster,neuropathy,netherworld,neediest,navasky,narcissists,napped,nafta,mache,mykonos,mutilating,mutherfucker,mutha,mutates,mutate,musn't,murchy,multitasking,mujeeb,mudslinging,muckraking,mousetrap,mourns,mournful,motherf,mostro,morphing,morphate,moralistic,moochy,mooching,monotonous,monopolize,monocle,molehill,moland,mofet,mockup,mobilizing,mmmmmmm,mitzvahs,mistreating,misstep,misjudge,misinformation,misdirected,miscarriages,miniskirt,mindwarped,minced,milquetoast,miguelito,mightily,midstream,midriff,mideast,microbe,methuselah,mesdames,mescal,men'll,memma,megaton,megara,megalomaniac,meeee,medulla,medivac,meaninglessness,mcnuggets,mccarthyism,maypole,may've,mauve,mateys,marshack,markles,marketable,mansiere,manservant,manse,manhandling,mallomars,malcontent,malaise,majesties,mainsail,mailmen,mahandra,magnolias,magnified,magev,maelstrom,machu,macado,m'boy,m'appelle,lustrous,lureen,lunges,lumped,lumberyard,lulled,luego,lucks,lubricated,loveseat,loused,lounger,loski,lorre,loora,looong,loonies,loincloth,lofts,lodgers,lobbing,loaner,livered,liqueur,ligourin,lifesaving,lifeguards,lifeblood,liaisons,let'em,lesbianism,lence,lemonlyman,legitimize,leadin,lazars,lazarro,lawyering,laugher,laudanum,latrines,lations,laters,lapels,lakefront,lahit,lafortunata,lachrymose,l'italien,kwaini,kruczynski,kramerica,kowtow,kovinsky,korsekov,kopek,knowakowski,knievel,knacks,kiowas,killington,kickball,keyworth,keymaster,kevie,keveral,kenyons,keggers,keepsakes,kechner,keaty,kavorka,karajan,kamerev,kaggs,jujyfruit,jostled,jonestown,jokey,joists,jocko,jimmied,jiggled,jests,jenzen,jenko,jellyman,jedediah,jealitosis,jaunty,jarmel,jankle,jagoff,jagielski,jackrabbits,jabbing,jabberjaw,izzat,irresponsibly,irrepressible,irregularity,irredeemable,inuvik,intuitions,intubated,intimates,interminable,interloper,intercostal,instyle,instigate,instantaneously,ining,ingrown,ingesting,infusing,infringe,infinitum,infact,inequities,indubitably,indisputable,indescribably,indentation,indefinable,incontrovertible,inconsequential,incompletes,incoherently,inclement,incidentals,inarticulate,inadequacies,imprudent,improprieties,imprison,imprinted,impressively,impostors,importante,imperious,impale,immodest,immobile,imbedded,imbecilic,illegals,idn't,hysteric,hypotenuse,hygienic,hyeah,hushpuppies,hunhh,humpback,humored,hummed,humiliates,humidifier,huggy,huggers,huckster,hotbed,hosing,hosers,horsehair,homebody,homebake,holing,holies,hoisting,hogwallop,hocks,hobbits,hoaxes,hmmmmm,hisses,hippest,hillbillies,hilarity,heurh,herniated,hermaphrodite,hennifer,hemlines,hemline,hemery,helplessness,helmsley,hellhound,heheheheh,heeey,hedda,heartbeats,heaped,healers,headstart,headsets,headlong,hawkland,havta,haulin,harvey'll,hanta,hansom,hangnail,handstand,handrail,handoff,hallucinogen,hallor,halitosis,haberdashery,gypped,guy'll,gumbel,guerillas,guava,guardrail,grunther,grunick,groppi,groomer,grodin,gripes,grinds,grifters,gretch,greevey,greasing,graveyards,grandkid,grainy,gouging,gooney,googly,goldmuff,goldenrod,goingo,godly,gobbledygook,gobbledegook,glues,gloriously,glengarry,glassware,glamor,gimmicks,giggly,giambetti,ghoulish,ghettos,ghali,gether,geriatrics,gerbils,geosynchronous,georgio,gente,gendarme,gelbman,gazillionth,gayest,gauging,gastro,gaslight,gasbag,garters,garish,garas,gantu,gangy,gangly,gangland,galling,gadda,furrowed,funnies,funkytown,fugimotto,fudging,fuckeen,frustrates,froufrou,froot,fromberge,frizzies,fritters,frightfully,friendliest,freeloading,freelancing,freakazoid,fraternization,framers,fornication,fornicating,forethought,footstool,foisting,focussing,focking,flurries,fluffed,flintstones,fledermaus,flayed,flawlessly,flatters,flashbang,flapped,fishies,firmer,fireproof,firebug,fingerpainting,finessed,findin,financials,finality,fillets,fiercest,fiefdom,fibbing,fervor,fentanyl,fenelon,fedorchuk,feckless,feathering,faucets,farewells,fantasyland,fanaticism,faltered,faggy,faberge,extorting,extorted,exterminating,exhumation,exhilaration,exhausts,exfoliate,excels,exasperating,exacting,everybody'd,evasions,espressos,esmail,errrr,erratically,eroding,ernswiler,epcot,enthralled,ensenada,enriching,enrage,enhancer,endear,encrusted,encino,empathic,embezzle,emanates,electricians,eking,egomaniacal,egging,effacing,ectoplasm,eavesdropped,dummkopf,dugray,duchaisne,drunkard,drudge,droop,droids,drips,dripped,dribbles,drazens,downy,downsize,downpour,dosages,doppelganger,dopes,doohicky,dontcha,doneghy,divining,divest,diuretics,diuretic,distrustful,disrupts,dismemberment,dismember,disinfect,disillusionment,disheartening,discourteous,discotheque,discolored,dirtiest,diphtheria,dinks,dimpled,didya,dickwad,diatribes,diathesis,diabetics,deviants,detonates,detests,detestable,detaining,despondent,desecration,derision,derailing,deputized,depressors,dependant,dentures,denominators,demur,demonology,delts,dellarte,delacour,deflated,defib,defaced,decorators,deaqon,davola,datin,darwinian,darklighters,dandelions,dampened,damaskinos,dalrimple,d'peshu,d'hoffryn,d'astier,cynics,cutesy,cutaway,curmudgeon,curdle,culpability,cuisinart,cuffing,crypts,cryptid,crunched,crumblers,crudely,crosscheck,croon,crissake,crevasse,creswood,creepo,creases,creased,creaky,cranks,crabgrass,coveralls,couple'a,coughs,coslaw,corporeal,cornucopia,cornering,corks,cordoned,coolly,coolin,cookbooks,contrite,contented,constrictor,confound,confit,confiscating,condoned,conditioners,concussions,comprendo,comers,combustible,combusted,collingswood,coldness,coitus,codicil,coasting,clydesdale,cluttering,clunker,clunk,clumsiness,clotted,clothesline,clinches,clincher,cleverness,clench,clein,cleanses,claymores,clammed,chugging,chronically,christsakes,choque,chompers,chiseling,chirpy,chirp,chinks,chingachgook,chickenpox,chickadee,chewin,chessboard,chargin,chanteuse,chandeliers,chamdo,chagrined,chaff,certs,certainties,cerreno,cerebrum,censured,cemetary,caterwauling,cataclysmic,casitas,cased,carvel,carting,carrear,carolling,carolers,carnie,cardiogram,carbuncle,capulets,canines,candaules,canape,caldecott,calamitous,cadillacs,cachet,cabeza,cabdriver,buzzards,butai,businesswomen,bungled,bumpkins,bummers,bulldoze,buffybot,bubut,bubbies,brrrrr,brownout,brouhaha,bronzing,bronchial,broiler,briskly,briefcases,bricked,breezing,breeher,breakable,breadstick,bravenet,braved,brandies,brainwaves,brainiest,braggart,bradlee,boys're,boys'll,boys'd,boutonniere,bossed,bosomy,borans,boosts,bookshelves,bookends,boneless,bombarding,bollo,boinked,boink,bluest,bluebells,bloodshot,blockhead,blockbusters,blithely,blather,blankly,bladders,blackbeard,bitte,bippy,biogenetics,bilge,bigglesworth,bicuspids,beususe,betaseron,besmirch,bernece,bereavement,bentonville,benchley,benching,bembe,bellyaching,bellhops,belie,beleaguered,behrle,beginnin,begining,beenie,beefs,beechwood,becau,beaverhausen,beakers,bazillion,baudouin,barrytown,barringtons,barneys,barbs,barbers,barbatus,bankrupted,bailiffs,backslide,baby'd,baaad,b'fore,awwwk,aways,awakes,automatics,authenticate,aught,aubyn,attired,attagirl,atrophied,asystole,astroturf,assertiveness,artichokes,arquillians,aright,archenemy,appraise,appeased,antin,anspaugh,anesthetics,anaphylactic,amscray,ambivalence,amalio,alriiight,alphabetized,alpena,alouette,allora,alliteration,allenwood,allegiances,algerians,alcerro,alastor,ahaha,agitators,aforethought,advertises,admonition,adirondacks,adenoids,acupuncturist,acula,actuarial,activators,actionable,achingly,accusers,acclimated,acclimate,absurdly,absorbent,absolvo,absolutes,absences,abdomenizer,aaaaaaaaah,aaaaaaaaaa,a'right".split(","),
16277male_names:"james,john,robert,michael,william,david,richard,charles,joseph,thomas,christopher,daniel,paul,mark,donald,george,kenneth,steven,edward,brian,ronald,anthony,kevin,jason,matthew,gary,timothy,jose,larry,jeffrey,frank,scott,eric,stephen,andrew,raymond,gregory,joshua,jerry,dennis,walter,patrick,peter,harold,douglas,henry,carl,arthur,ryan,roger,joe,juan,jack,albert,jonathan,justin,terry,gerald,keith,samuel,willie,ralph,lawrence,nicholas,roy,benjamin,bruce,brandon,adam,harry,fred,wayne,billy,steve,louis,jeremy,aaron,randy,eugene,carlos,russell,bobby,victor,ernest,phillip,todd,jesse,craig,alan,shawn,clarence,sean,philip,chris,johnny,earl,jimmy,antonio,danny,bryan,tony,luis,mike,stanley,leonard,nathan,dale,manuel,rodney,curtis,norman,marvin,vincent,glenn,jeffery,travis,jeff,chad,jacob,melvin,alfred,kyle,francis,bradley,jesus,herbert,frederick,ray,joel,edwin,don,eddie,ricky,troy,randall,barry,bernard,mario,leroy,francisco,marcus,micheal,theodore,clifford,miguel,oscar,jay,jim,tom,calvin,alex,jon,ronnie,bill,lloyd,tommy,leon,derek,darrell,jerome,floyd,leo,alvin,tim,wesley,dean,greg,jorge,dustin,pedro,derrick,dan,zachary,corey,herman,maurice,vernon,roberto,clyde,glen,hector,shane,ricardo,sam,rick,lester,brent,ramon,tyler,gilbert,gene,marc,reginald,ruben,brett,nathaniel,rafael,edgar,milton,raul,ben,cecil,duane,andre,elmer,brad,gabriel,ron,roland,jared,adrian,karl,cory,claude,erik,darryl,neil,christian,javier,fernando,clinton,ted,mathew,tyrone,darren,lonnie,lance,cody,julio,kurt,allan,clayton,hugh,max,dwayne,dwight,armando,felix,jimmie,everett,ian,ken,bob,jaime,casey,alfredo,alberto,dave,ivan,johnnie,sidney,byron,julian,isaac,clifton,willard,daryl,virgil,andy,salvador,kirk,sergio,seth,kent,terrance,rene,eduardo,terrence,enrique,freddie,stuart,fredrick,arturo,alejandro,joey,nick,luther,wendell,jeremiah,evan,julius,donnie,otis,trevor,luke,homer,gerard,doug,kenny,hubert,angelo,shaun,lyle,matt,alfonso,orlando,rex,carlton,ernesto,pablo,lorenzo,omar,wilbur,blake,horace,roderick,kerry,abraham,rickey,ira,andres,cesar,johnathan,malcolm,rudolph,damon,kelvin,rudy,preston,alton,archie,marco,pete,randolph,garry,geoffrey,jonathon,felipe,bennie,gerardo,dominic,loren,delbert,colin,guillermo,earnest,benny,noel,rodolfo,myron,edmund,salvatore,cedric,lowell,gregg,sherman,devin,sylvester,roosevelt,israel,jermaine,forrest,wilbert,leland,simon,irving,owen,rufus,woodrow,sammy,kristopher,levi,marcos,gustavo,jake,lionel,marty,gilberto,clint,nicolas,laurence,ismael,orville,drew,ervin,dewey,wilfred,josh,hugo,ignacio,caleb,tomas,sheldon,erick,frankie,darrel,rogelio,terence,alonzo,elias,bert,elbert,ramiro,conrad,noah,grady,phil,cornelius,lamar,rolando,clay,percy,bradford,merle,darin,amos,terrell,moses,irvin,saul,roman,darnell,randal,tommie,timmy,darrin,brendan,toby,van,abel,dominick,emilio,elijah,cary,domingo,aubrey,emmett,marlon,emanuel,jerald,edmond,emil,dewayne,otto,teddy,reynaldo,bret,jess,trent,humberto,emmanuel,stephan,louie,vicente,lamont,garland,micah,efrain,heath,rodger,demetrius,ethan,eldon,rocky,pierre,eli,bryce,antoine,robbie,kendall,royce,sterling,grover,elton,cleveland,dylan,chuck,damian,reuben,stan,leonardo,russel,erwin,benito,hans,monte,blaine,ernie,curt,quentin,agustin,jamal,devon,adolfo,tyson,wilfredo,bart,jarrod,vance,denis,damien,joaquin,harlan,desmond,elliot,darwin,gregorio,kermit,roscoe,esteban,anton,solomon,norbert,elvin,nolan,carey,rod,quinton,hal,brain,rob,elwood,kendrick,darius,moises,marlin,fidel,thaddeus,cliff,marcel,ali,raphael,bryon,armand,alvaro,jeffry,dane,joesph,thurman,ned,sammie,rusty,michel,monty,rory,fabian,reggie,kris,isaiah,gus,avery,loyd,diego,adolph,millard,rocco,gonzalo,derick,rodrigo,gerry,rigoberto,alphonso,rickie,noe,vern,elvis,bernardo,mauricio,hiram,donovan,basil,nickolas,scot,vince,quincy,eddy,sebastian,federico,ulysses,heriberto,donnell,denny,gavin,emery,romeo,jayson,dion,dante,clement,coy,odell,jarvis,bruno,issac,dudley,sanford,colby,carmelo,nestor,hollis,stefan,donny,linwood,beau,weldon,galen,isidro,truman,delmar,johnathon,silas,frederic,irwin,merrill,charley,marcelino,carlo,trenton,kurtis,aurelio,winfred,vito,collin,denver,leonel,emory,pasquale,mohammad,mariano,danial,landon,dirk,branden,adan,numbers,clair,buford,bernie,wilmer,emerson,zachery,jacques,errol,josue,edwardo,wilford,theron,raymundo,daren,tristan,robby,lincoln,jame,genaro,octavio,cornell,hung,arron,antony,herschel,alva,giovanni,garth,cyrus,cyril,ronny,stevie,lon,kennith,carmine,augustine,erich,chadwick,wilburn,russ,myles,jonas,mitchel,mervin,zane,jamel,lazaro,alphonse,randell,johnie,jarrett,ariel,abdul,dusty,luciano,seymour,scottie,eugenio,mohammed,arnulfo,lucien,ferdinand,thad,ezra,aldo,rubin,mitch,earle,abe,marquis,lanny,kareem,jamar,boris,isiah,emile,elmo,aron,leopoldo,everette,josef,eloy,dorian,rodrick,reinaldo,lucio,jerrod,weston,hershel,lemuel,lavern,burt,jules,gil,eliseo,ahmad,nigel,efren,antwan,alden,margarito,refugio,dino,osvaldo,les,deandre,normand,kieth,ivory,trey,norberto,napoleon,jerold,fritz,rosendo,milford,sang,deon,christoper,alfonzo,lyman,josiah,brant,wilton,rico,jamaal,dewitt,brenton,yong,olin,faustino,claudio,judson,gino,edgardo,alec,jarred,donn,trinidad,tad,porfirio,odis,lenard,chauncey,tod,mel,marcelo,kory,augustus,keven,hilario,bud,sal,orval,mauro,dannie,zachariah,olen,anibal,milo,jed,thanh,amado,lenny,tory,richie,horacio,brice,mohamed,delmer,dario,mac,jonah,jerrold,robt,hank,sung,rupert,rolland,kenton,damion,chi,antone,waldo,fredric,bradly,kip,burl,tyree,jefferey,ahmed,willy,stanford,oren,moshe,mikel,enoch,brendon,quintin,jamison,florencio,darrick,tobias,minh,hassan,giuseppe,demarcus,cletus,tyrell,lyndon,keenan,werner,theo,geraldo,columbus,chet,bertram,markus,huey,hilton,dwain,donte,tyron,omer,isaias,hipolito,fermin,chung,adalberto,jamey,teodoro,mckinley,maximo,raleigh,lawerence,abram,rashad,emmitt,daron,chong,samual,otha,miquel,eusebio,dong,domenic,darron,wilber,renato,hoyt,haywood,ezekiel,chas,florentino,elroy,clemente,arden,neville,edison,deshawn,carrol,shayne,nathanial,jordon,danilo,claud,sherwood,raymon,rayford,cristobal,ambrose,titus,hyman,felton,ezequiel,erasmo,lonny,milan,lino,jarod,herb,andreas,rhett,jude,douglass,cordell,oswaldo,ellsworth,virgilio,toney,nathanael,benedict,mose,hong,isreal,garret,fausto,arlen,zack,modesto,francesco,manual,gaylord,gaston,filiberto,deangelo,michale,granville,malik,zackary,tuan,nicky,cristopher,antione,malcom,korey,jospeh,colton,waylon,hosea,shad,santo,rudolf,rolf,renaldo,marcellus,lucius,kristofer,harland,arnoldo,rueben,leandro,kraig,jerrell,jeromy,hobert,cedrick,arlie,winford,wally,luigi,keneth,jacinto,graig,franklyn,edmundo,leif,jeramy,willian,vincenzo,shon,michal,lynwood,jere,elden,darell,broderick,alonso".split(",")},module.exports=frequency_lists;
16278
16279},{}],4:[function(require,module,exports){
16280var feedback,matching,scoring,time,time_estimates,zxcvbn;matching=require("./matching"),scoring=require("./scoring"),time_estimates=require("./time_estimates"),feedback=require("./feedback"),time=function(){return(new Date).getTime()},zxcvbn=function(e,t){var i,n,c,s,a,r,m,o,u,g,_;for(null==t&&(t=[]),g=time(),u=[],c=0,s=t.length;c<s;c++)i=t[c],"string"!=(m=typeof i)&&"number"!==m&&"boolean"!==m||u.push(i.toString().toLowerCase());matching.set_user_input_dictionary(u),a=matching.omnimatch(e),o=scoring.most_guessable_match_sequence(e,a),o.calc_time=time()-g,n=time_estimates.estimate_attack_times(o.guesses);for(r in n)_=n[r],o[r]=_;return o.feedback=feedback.get_feedback(o.score,o.sequence),o},module.exports=zxcvbn;
16281
16282},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
16283var DATE_MAX_YEAR,DATE_MIN_YEAR,DATE_SPLITS,GRAPHS,L33T_TABLE,RANKED_DICTIONARIES,REGEXEN,adjacency_graphs,build_ranked_dict,frequency_lists,lst,matching,name,scoring;frequency_lists=require("./frequency_lists"),adjacency_graphs=require("./adjacency_graphs"),scoring=require("./scoring"),build_ranked_dict=function(e){var t,n,r,i,a;for(i={},t=1,r=0,n=e.length;r<n;r++)a=e[r],i[a]=t,t+=1;return i},RANKED_DICTIONARIES={};for(name in frequency_lists)lst=frequency_lists[name],RANKED_DICTIONARIES[name]=build_ranked_dict(lst);GRAPHS={qwerty:adjacency_graphs.qwerty,dvorak:adjacency_graphs.dvorak,keypad:adjacency_graphs.keypad,mac_keypad:adjacency_graphs.mac_keypad},L33T_TABLE={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},REGEXEN={recent_year:/19\d\d|200\d|201\d/g},DATE_MAX_YEAR=2050,DATE_MIN_YEAR=1e3,DATE_SPLITS={4:[[1,2],[2,3]],5:[[1,3],[2,3]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},matching={empty:function(e){var t;return 0===function(){var n;n=[];for(t in e)n.push(t);return n}().length},extend:function(e,t){return e.push.apply(e,t)},translate:function(e,t){var n;return function(){var r,i,a,s;for(a=e.split(""),s=[],i=0,r=a.length;i<r;i++)n=a[i],s.push(t[n]||n);return s}().join("")},mod:function(e,t){return(e%t+t)%t},sorted:function(e){return e.sort(function(e,t){return e.i-t.i||e.j-t.j})},omnimatch:function(e){var t,n,r,i,a;for(i=[],r=[this.dictionary_match,this.reverse_dictionary_match,this.l33t_match,this.spatial_match,this.repeat_match,this.sequence_match,this.regex_match,this.date_match],a=0,t=r.length;a<t;a++)n=r[a],this.extend(i,n.call(this,e));return this.sorted(i)},dictionary_match:function(e,t){var n,r,i,a,s,o,h,u,c,l,_,f,d,p;null==t&&(t=RANKED_DICTIONARIES),s=[],a=e.length,u=e.toLowerCase();for(n in t)for(l=t[n],r=o=0,_=a;0<=_?o<_:o>_;r=0<=_?++o:--o)for(i=h=f=r,d=a;f<=d?h<d:h>d;i=f<=d?++h:--h)u.slice(r,+i+1||9e9)in l&&(p=u.slice(r,+i+1||9e9),c=l[p],s.push({pattern:"dictionary",i:r,j:i,token:e.slice(r,+i+1||9e9),matched_word:p,rank:c,dictionary_name:n,reversed:!1,l33t:!1}));return this.sorted(s)},reverse_dictionary_match:function(e,t){var n,r,i,a,s,o;for(null==t&&(t=RANKED_DICTIONARIES),o=e.split("").reverse().join(""),i=this.dictionary_match(o,t),a=0,n=i.length;a<n;a++)r=i[a],r.token=r.token.split("").reverse().join(""),r.reversed=!0,s=[e.length-1-r.j,e.length-1-r.i],r.i=s[0],r.j=s[1];return this.sorted(i)},set_user_input_dictionary:function(e){return RANKED_DICTIONARIES.user_inputs=build_ranked_dict(e.slice())},relevant_l33t_subtable:function(e,t){var n,r,i,a,s,o,h,u,c,l;for(s={},o=e.split(""),a=0,r=o.length;a<r;a++)n=o[a],s[n]=!0;l={};for(i in t)c=t[i],h=function(){var e,t,n;for(n=[],t=0,e=c.length;t<e;t++)u=c[t],u in s&&n.push(u);return n}(),h.length>0&&(l[i]=h);return l},enumerate_l33t_subs:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;a=function(){var t;t=[];for(i in e)t.push(i);return t}(),p=[[]],n=function(e){var t,n,r,a,s,o,h,u;for(n=[],s={},o=0,a=e.length;o<a;o++)h=e[o],t=function(){var e,t,n;for(n=[],u=t=0,e=h.length;t<e;u=++t)i=h[u],n.push([i,u]);return n}(),t.sort(),r=function(){var e,n,r;for(r=[],u=n=0,e=t.length;n<e;u=++n)i=t[u],r.push(i+","+u);return r}().join("-"),r in s||(s[r]=!0,n.push(h));return n},r=function(t){var i,a,s,o,h,u,c,l,_,f,d,g,m,A,E,y;if(t.length){for(a=t[0],m=t.slice(1),c=[],d=e[a],l=0,h=d.length;l<h;l++)for(o=d[l],_=0,u=p.length;_<u;_++){for(A=p[_],i=-1,s=f=0,g=A.length;0<=g?f<g:f>g;s=0<=g?++f:--f)if(A[s][0]===o){i=s;break}i===-1?(y=A.concat([[o,a]]),c.push(y)):(E=A.slice(0),E.splice(i,1),E.push([o,a]),c.push(A),c.push(E))}return p=n(c),r(m)}},r(a),d=[];for(u=0,o=p.length;u<o;u++){for(_=p[u],f={},c=0,h=_.length;c<h;c++)l=_[c],s=l[0],t=l[1],f[s]=t;d.push(f)}return d},l33t_match:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A;for(null==t&&(t=RANKED_DICTIONARIES),null==n&&(n=L33T_TABLE),u=[],_=this.enumerate_l33t_subs(this.relevant_l33t_subtable(e,n)),c=0,a=_.length;c<a&&(d=_[c],!this.empty(d));c++)for(g=this.translate(e,d),f=this.dictionary_match(g,t),l=0,s=f.length;l<s;l++)if(o=f[l],m=e.slice(o.i,+o.j+1||9e9),m.toLowerCase()!==o.matched_word){h={};for(p in d)r=d[p],m.indexOf(p)!==-1&&(h[p]=r);o.l33t=!0,o.token=m,o.sub=h,o.sub_display=function(){var e;e=[];for(i in h)A=h[i],e.push(i+" -> "+A);return e}().join(", "),u.push(o)}return this.sorted(u.filter(function(e){return e.token.length>1}))},spatial_match:function(e,t){var n,r,i;null==t&&(t=GRAPHS),i=[];for(r in t)n=t[r],this.extend(i,this.spatial_match_helper(e,n,r));return this.sorted(i)},SHIFTED_RX:/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/,spatial_match_helper:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m;for(f=[],u=0;u<e.length-1;)for(c=u+1,l=null,m=0,g="qwerty"!==n&&"dvorak"!==n||!this.SHIFTED_RX.exec(e.charAt(u))?0:1;;){if(p=e.charAt(c-1),o=!1,h=-1,s=-1,i=t[p]||[],c<e.length)for(a=e.charAt(c),d=0,_=i.length;d<_;d++)if(r=i[d],s+=1,r&&r.indexOf(a)!==-1){o=!0,h=s,1===r.indexOf(a)&&(g+=1),l!==h&&(m+=1,l=h);break}if(!o){c-u>2&&f.push({pattern:"spatial",i:u,j:c-1,token:e.slice(u,c),graph:n,turns:m,shifted_count:g}),u=c;break}c+=1}return f},repeat_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;for(d=[],a=/(.+)\1+/g,c=/(.+?)\1+/g,l=/^(.+?)\1+$/,u=0;u<e.length&&(a.lastIndex=c.lastIndex=u,s=a.exec(e),_=c.exec(e),null!=s);)s[0].length>_[0].length?(f=s,i=l.exec(f[0])[1]):(f=_,i=f[1]),p=[f.index,f.index+f[0].length-1],o=p[0],h=p[1],t=scoring.most_guessable_match_sequence(i,this.omnimatch(i)),r=t.sequence,n=t.guesses,d.push({pattern:"repeat",i:o,j:h,token:f[0],base_token:i,base_guesses:n,base_matches:r,repeat_count:f[0].length/i.length}),u=h+1;return d},MAX_DELTA:5,sequence_match:function(e){var t,n,r,i,a,s,o,h,u;if(1===e.length)return[];for(u=function(t){return function(n,r,i){var a,s,o,u;if((r-n>1||1===Math.abs(i))&&0<(a=Math.abs(i))&&a<=t.MAX_DELTA)return u=e.slice(n,+r+1||9e9),/^[a-z]+$/.test(u)?(s="lower",o=26):/^[A-Z]+$/.test(u)?(s="upper",o=26):/^\d+$/.test(u)?(s="digits",o=10):(s="unicode",o=26),h.push({pattern:"sequence",i:n,j:r,token:e.slice(n,+r+1||9e9),sequence_name:s,sequence_space:o,ascending:i>0})}}(this),h=[],n=0,a=null,i=s=1,o=e.length;1<=o?s<o:s>o;i=1<=o?++s:--s)t=e.charCodeAt(i)-e.charCodeAt(i-1),null==a&&(a=t),t!==a&&(r=i-1,u(n,r,a),n=r,a=t);return u(n,e.length-1,a),h},regex_match:function(e,t){var n,r,i,a;null==t&&(t=REGEXEN),n=[];for(name in t)for(r=t[name],r.lastIndex=0;i=r.exec(e);)a=i[0],n.push({pattern:"regex",token:a,i:i.index,j:i.index+i[0].length-1,regex_name:name,regex_match:i});return this.sorted(n)},date_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A,E,y,v,I,R,T,D,k,x,j,b,N,S,q,L,M;for(_=[],f=/^\d{4,8}$/,d=/^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/,s=m=0,v=e.length-4;0<=v?m<=v:m>=v;s=0<=v?++m:--m)for(o=A=I=s+3,R=s+7;(I<=R?A<=R:A>=R)&&!(o>=e.length);o=I<=R?++A:--A)if(M=e.slice(s,+o+1||9e9),f.exec(M)){for(r=[],T=DATE_SPLITS[M.length],E=0,c=T.length;E<c;E++)D=T[E],h=D[0],u=D[1],a=this.map_ints_to_dmy([parseInt(M.slice(0,h)),parseInt(M.slice(h,u)),parseInt(M.slice(u))]),null!=a&&r.push(a);if(r.length>0){for(t=r[0],p=function(e){return Math.abs(e.year-scoring.REFERENCE_YEAR)},g=p(r[0]),k=r.slice(1),y=0,l=k.length;y<l;y++)n=k[y],i=p(n),i<g&&(x=[n,i],t=x[0],g=x[1]);_.push({pattern:"date",token:M,i:s,j:o,separator:"",year:t.year,month:t.month,day:t.day})}}for(s=q=0,j=e.length-6;0<=j?q<=j:q>=j;s=0<=j?++q:--q)for(o=L=b=s+5,N=s+9;(b<=N?L<=N:L>=N)&&!(o>=e.length);o=b<=N?++L:--L)M=e.slice(s,+o+1||9e9),S=d.exec(M),null!=S&&(a=this.map_ints_to_dmy([parseInt(S[1]),parseInt(S[3]),parseInt(S[4])]),null!=a&&_.push({pattern:"date",token:M,i:s,j:o,separator:S[2],year:a.year,month:a.month,day:a.day}));return this.sorted(_.filter(function(e){var t,n,r,i;for(t=!1,i=0,n=_.length;i<n;i++)if(r=_[i],e!==r&&r.i<=e.i&&r.j>=e.j){t=!0;break}return!t}))},map_ints_to_dmy:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g;if(!(e[1]>31||e[1]<=0)){for(o=0,h=0,p=0,s=0,r=e.length;s<r;s++){if(n=e[s],99<n&&n<DATE_MIN_YEAR||n>DATE_MAX_YEAR)return;n>31&&(h+=1),n>12&&(o+=1),n<=0&&(p+=1)}if(!(h>=2||3===o||p>=2)){for(c=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],u=0,i=c.length;u<i;u++)if(_=c[u],g=_[0],d=_[1],DATE_MIN_YEAR<=g&&g<=DATE_MAX_YEAR)return t=this.map_ints_to_dm(d),null!=t?{year:g,month:t.month,day:t.day}:void 0;for(l=0,a=c.length;l<a;l++)if(f=c[l],g=f[0],d=f[1],t=this.map_ints_to_dm(d),null!=t)return g=this.two_to_four_digit_year(g),{year:g,month:t.month,day:t.day}}}},map_ints_to_dm:function(e){var t,n,r,i,a,s;for(a=[e,e.slice().reverse()],i=0,n=a.length;i<n;i++)if(s=a[i],t=s[0],r=s[1],1<=t&&t<=31&&1<=r&&r<=12)return{day:t,month:r}},two_to_four_digit_year:function(e){return e>99?e:e>50?e+1900:e+2e3}},module.exports=matching;
16284
16285},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
16286var BRUTEFORCE_CARDINALITY,MIN_GUESSES_BEFORE_GROWING_SEQUENCE,MIN_SUBMATCH_GUESSES_MULTI_CHAR,MIN_SUBMATCH_GUESSES_SINGLE_CHAR,adjacency_graphs,calc_average_degree,k,scoring,v;adjacency_graphs=require("./adjacency_graphs"),calc_average_degree=function(e){var t,r,n,s,a,u;t=0;for(n in e)a=e[n],t+=function(){var e,t,r;for(r=[],t=0,e=a.length;t<e;t++)s=a[t],s&&r.push(s);return r}().length;return t/=function(){var t;t=[];for(r in e)u=e[r],t.push(r);return t}().length},BRUTEFORCE_CARDINALITY=10,MIN_GUESSES_BEFORE_GROWING_SEQUENCE=1e4,MIN_SUBMATCH_GUESSES_SINGLE_CHAR=10,MIN_SUBMATCH_GUESSES_MULTI_CHAR=50,scoring={nCk:function(e,t){var r,n,s,a;if(t>e)return 0;if(0===t)return 1;for(s=1,r=n=1,a=t;1<=a?n<=a:n>=a;r=1<=a?++n:--n)s*=e,s/=r,e-=1;return s},log10:function(e){return Math.log(e)/Math.log(10)},log2:function(e){return Math.log(e)/Math.log(2)},factorial:function(e){var t,r,n,s;if(e<2)return 1;for(t=1,r=n=2,s=e;2<=s?n<=s:n>=s;r=2<=s?++n:--n)t*=r;return t},most_guessable_match_sequence:function(e,t,r){var n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S,R,v,I,M,N,C,U,T;for(null==r&&(r=!1),l=e.length,f=function(){var e,t,r;for(r=[],n=e=0,t=l;0<=t?e<t:e>t;n=0<=t?++e:--e)r.push([]);return r}(),p=0,_=t.length;p<_;p++)c=t[p],f[c.j].push(c);for(v=0,o=f.length;v<o;v++)E=f[v],E.sort(function(e,t){return e.i-t.i});for(A={m:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),pi:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),g:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}()},U=function(t){return function(n,s){var a,u,i,_,o,h;_=n.j,o=t.estimate_guesses(n,e),s>1&&(o*=A.pi[n.i-1][s-1]),i=t.factorial(s)*o,r||(i+=Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE,s-1)),h=A.g[_];for(u in h)if(a=h[u],!(u>s)&&a<=i)return;return A.g[_][s]=i,A.m[_][s]=n,A.pi[_][s]=o}}(this),s=function(e){return function(e){var t,r,n,s,a,u;for(c=g(0,e),U(c,1),a=[],t=u=1,s=e;1<=s?u<=s:u>=s;t=1<=s?++u:--u)c=g(t,e),a.push(function(){var e,s;e=A.m[t-1],s=[];for(r in e)n=e[r],r=parseInt(r),"bruteforce"!==n.pattern&&s.push(U(c,r+1));return s}());return a}}(this),g=function(t){return function(t,r){return{pattern:"bruteforce",token:e.slice(t,+r+1||9e9),i:t,j:r}}}(this),C=function(e){return function(e){var t,r,n,s,a,u,i;u=[],s=e-1,a=void 0,n=1/0,i=A.g[s];for(r in i)t=i[r],t<n&&(a=r,n=t);for(;s>=0;)c=A.m[s][a],u.unshift(c),s=c.i-1,a--;return u}}(this),u=N=0,I=l;0<=I?N<I:N>I;u=0<=I?++N:--N){for(M=f[u],T=0,h=M.length;T<h;T++)if(c=M[T],c.i>0)for(i in A.m[c.i-1])i=parseInt(i),U(c,i+1);else U(c,1);s(u)}return R=C(l),S=R.length,a=0===e.length?1:A.g[l-1][S],{password:e,guesses:a,guesses_log10:this.log10(a),sequence:R}},estimate_guesses:function(e,t){var r,n,s;return null!=e.guesses?e.guesses:(s=1,e.token.length<t.length&&(s=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR:MIN_SUBMATCH_GUESSES_MULTI_CHAR),r={bruteforce:this.bruteforce_guesses,dictionary:this.dictionary_guesses,spatial:this.spatial_guesses,repeat:this.repeat_guesses,sequence:this.sequence_guesses,regex:this.regex_guesses,date:this.date_guesses},n=r[e.pattern].call(this,e),e.guesses=Math.max(n,s),e.guesses_log10=this.log10(e.guesses),e.guesses)},bruteforce_guesses:function(e){var t,r;return t=Math.pow(BRUTEFORCE_CARDINALITY,e.token.length),r=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR+1:MIN_SUBMATCH_GUESSES_MULTI_CHAR+1,Math.max(t,r)},repeat_guesses:function(e){return e.base_guesses*e.repeat_count},sequence_guesses:function(e){var t,r;return r=e.token.charAt(0),t="a"===r||"A"===r||"z"===r||"Z"===r||"0"===r||"1"===r||"9"===r?4:r.match(/\d/)?10:26,e.ascending||(t*=2),t*e.token.length},MIN_YEAR_SPACE:20,REFERENCE_YEAR:2016,regex_guesses:function(e){var t,r;if(t={alpha_lower:26,alpha_upper:26,alpha:52,alphanumeric:62,digits:10,symbols:33},e.regex_name in t)return Math.pow(t[e.regex_name],e.token.length);switch(e.regex_name){case"recent_year":return r=Math.abs(parseInt(e.regex_match[0])-this.REFERENCE_YEAR),r=Math.max(r,this.MIN_YEAR_SPACE)}},date_guesses:function(e){var t,r;return r=Math.max(Math.abs(e.year-this.REFERENCE_YEAR),this.MIN_YEAR_SPACE),t=365*r,e.separator&&(t*=4),t},KEYBOARD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.qwerty),KEYPAD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.keypad),KEYBOARD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.qwerty,t=[];for(k in e)v=e[k],t.push(k);return t}().length,KEYPAD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.keypad,t=[];for(k in e)v=e[k],t.push(k);return t}().length,spatial_guesses:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S;for("qwerty"===(E=e.graph)||"dvorak"===E?(l=this.KEYBOARD_STARTING_POSITIONS,s=this.KEYBOARD_AVERAGE_DEGREE):(l=this.KEYPAD_STARTING_POSITIONS,s=this.KEYPAD_AVERAGE_DEGREE),a=0,t=e.token.length,A=e.turns,u=_=2,c=t;2<=c?_<=c:_>=c;u=2<=c?++_:--_)for(o=Math.min(A,u-1),i=h=1,g=o;1<=g?h<=g:h>=g;i=1<=g?++h:--h)a+=this.nCk(u-1,i-1)*l*Math.pow(s,i);if(e.shifted_count)if(r=e.shifted_count,n=e.token.length-e.shifted_count,0===r||0===n)a*=2;else{for(p=0,u=S=1,f=Math.min(r,n);1<=f?S<=f:S>=f;u=1<=f?++S:--S)p+=this.nCk(r+n,u);a*=p}return a},dictionary_guesses:function(e){var t;return e.base_guesses=e.rank,e.uppercase_variations=this.uppercase_variations(e),e.l33t_variations=this.l33t_variations(e),t=e.reversed&&2||1,e.base_guesses*e.uppercase_variations*e.l33t_variations*t},START_UPPER:/^[A-Z][^A-Z]+$/,END_UPPER:/^[^A-Z]+[A-Z]$/,ALL_UPPER:/^[^a-z]+$/,ALL_LOWER:/^[^A-Z]+$/,uppercase_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c;if(c=e.token,c.match(this.ALL_LOWER)||c.toLowerCase()===c)return 1;for(_=[this.START_UPPER,this.END_UPPER,this.ALL_UPPER],u=0,a=_.length;u<a;u++)if(h=_[u],c.match(h))return 2;for(r=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[A-Z]/)&&s.push(n);return s}().length,t=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[a-z]/)&&s.push(n);return s}().length,E=0,s=i=1,o=Math.min(r,t);1<=o?i<=o:i>=o;s=1<=o?++i:--i)E+=this.nCk(r+t,s);return E},l33t_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g;if(!e.l33t)return 1;g=1,o=e.sub;for(E in o)if(c=o[E],s=e.token.toLowerCase().split(""),t=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===E&&r.push(n);return r}().length,r=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===c&&r.push(n);return r}().length,0===t||0===r)g*=2;else{for(i=Math.min(r,t),_=0,a=u=1,h=i;1<=h?u<=h:u>=h;a=1<=h?++u:--u)_+=this.nCk(r+t,a);g*=_}return g}},module.exports=scoring;
16287
16288},{"./adjacency_graphs":1}],7:[function(require,module,exports){
16289var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o;n={online_throttling_100_per_hour:e/(100/3600),online_no_throttling_10_per_second:e/10,offline_slow_hashing_1e4_per_second:e/1e4,offline_fast_hashing_1e10_per_second:e/1e10},t={};for(s in n)o=n[s],t[s]=this.display_time(o);return{crack_times_seconds:n,crack_times_display:t,score:this.guesses_to_score(e)}},guesses_to_score:function(e){var t;return t=5,e<1e3+t?0:e<1e6+t?1:e<1e8+t?2:e<1e10+t?3:4},display_time:function(e){var t,n,s,o,_,r,i,a,u,c;return i=60,r=60*i,s=24*r,a=31*s,c=12*a,n=100*c,u=e<1?[null,"less than a second"]:e<i?(t=Math.round(e),[t,t+" second"]):e<r?(t=Math.round(e/i),[t,t+" minute"]):e<s?(t=Math.round(e/r),[t,t+" hour"]):e<a?(t=Math.round(e/s),[t,t+" day"]):e<c?(t=Math.round(e/a),[t,t+" month"]):e<n?(t=Math.round(e/c),[t,t+" year"]):[null,"centuries"],o=u[0],_=u[1],null!=o&&1!==o&&(_+="s"),_}},module.exports=time_estimates;
16290
16291},{}]},{},[4])(4)
16292});
16293//# sourceMappingURL=zxcvbn.js.map
16294</script>
16295 <script>/*
16296 * Detects entropy from a string.
16297 *
16298 * Formats include:
16299 * binary [0-1]
16300 * base 6 [0-5]
16301 * dice 6 [1-6]
16302 * decimal [0-9]
16303 * hexadecimal [0-9A-F]
16304 *
16305 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
16306 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
16307 * entropy.
16308 */
16309
16310window.Entropy = new (function() {
16311
16312 // matchers returns an array of the matched events for each type of entropy.
16313 // eg
16314 // matchers.binary("010") returns ["0", "1", "0"]
16315 // matchers.binary("a10") returns ["1", "0"]
16316 // matchers.hex("a10") returns ["a", "1", "0"]
c6624d51 16317 var matchers = {
18abe53b
IC
16318 binary: function(str) {
16319 return str.match(/[0-1]/gi) || [];
16320 },
16321 base6: function(str) {
16322 return str.match(/[0-5]/gi) || [];
16323 },
16324 dice: function(str) {
16325 return str.match(/[1-6]/gi) || []; // ie dice numbers
16326 },
16327 base10: function(str) {
16328 return str.match(/[0-9]/gi) || [];
16329 },
16330 hex: function(str) {
16331 return str.match(/[0-9A-F]/gi) || [];
16332 },
16333 card: function(str) {
16334 // Format is NumberSuit, eg
16335 // AH ace of hearts
16336 // 8C eight of clubs
16337 // TD ten of diamonds
16338 // JS jack of spades
16339 // QH queen of hearts
16340 // KC king of clubs
16341 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
16342 }
16343 }
16344
16345 // Convert array of cards from ["ac", "4d", "ks"]
16346 // to numbers between 0 and 51 [0, 16, 51]
16347 function convertCardsToInts(cards) {
16348 var ints = [];
16349 var values = "a23456789tjqk";
16350 var suits = "cdhs";
16351 for (var i=0; i<cards.length; i++) {
16352 var card = cards[i].toLowerCase();
16353 var value = card[0];
16354 var suit = card[1];
16355 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
16356 ints.push(asInt);
16357 }
16358 return ints;
c6624d51
IC
16359 }
16360
16361 this.fromString = function(rawEntropyStr) {
16362 // Find type of entropy being used (binary, hex, dice etc)
16363 var base = getBase(rawEntropyStr);
16364 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18abe53b 16365 // This is done by changing all 6s to 0s
c6624d51 16366 if (base.str == "dice") {
18abe53b
IC
16367 var newParts = [];
16368 var newInts = [];
16369 for (var i=0; i<base.parts.length; i++) {
16370 var c = base.parts[i];
16371 if ("12345".indexOf(c) > -1) {
16372 newParts[i] = base.parts[i];
16373 newInts[i] = base.ints[i];
c6624d51
IC
16374 }
16375 else {
18abe53b
IC
16376 newParts[i] = "0";
16377 newInts[i] = 0;
c6624d51
IC
16378 }
16379 }
c6624d51 16380 base.str = "base 6 (dice)";
18abe53b
IC
16381 base.ints = newInts;
16382 base.parts = newParts;
c6624d51 16383 base.matcher = matchers.base6;
54563907 16384 }
c6624d51 16385 // Detect empty entropy
18abe53b 16386 if (base.parts.length == 0) {
c6624d51
IC
16387 return {
16388 binaryStr: "",
c6624d51
IC
16389 cleanStr: "",
16390 base: base,
16391 };
54563907 16392 }
18abe53b
IC
16393 // Convert base.ints to BigInteger.
16394 // Due to using unusual bases, eg cards of base52, this is not as simple as
16395 // using BigInteger.parse()
16396 var entropyInt = BigInteger.ZERO;
16397 for (var i=base.ints.length-1; i>=0; i--) {
16398 var thisInt = BigInteger.parse(base.ints[i]);
16399 var power = (base.ints.length - 1) - i;
16400 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
16401 entropyInt = entropyInt.add(additionalEntropy);
ebd8d4e8 16402 }
18abe53b
IC
16403 // Convert entropy to binary
16404 var entropyBin = entropyInt.toString(2);
16405 // If the first integer is small, it must be padded with zeros.
16406 // Otherwise the chance of the first bit being 1 is 100%, which is
16407 // obviously incorrect.
16408 // This is not perfect for non-2^n bases.
16409 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
16410 while (entropyBin.length < expectedBits) {
16411 entropyBin = "0" + entropyBin;
efe41586 16412 }
18abe53b
IC
16413 // Supply a 'filtered' entropy string for display purposes
16414 var entropyClean = base.parts.join("");
16415 if (base.asInt == 52) {
16416 entropyClean = base.parts.join(" ").toUpperCase();
16417 entropyClean = entropyClean.replace(/C/g, "\u2663");
16418 entropyClean = entropyClean.replace(/D/g, "\u2666");
16419 entropyClean = entropyClean.replace(/H/g, "\u2665");
16420 entropyClean = entropyClean.replace(/S/g, "\u2660");
efe41586 16421 }
c6624d51
IC
16422 var e = {
16423 binaryStr: entropyBin,
c6624d51
IC
16424 cleanStr: entropyClean,
16425 base: base,
efe41586 16426 }
c6624d51
IC
16427 return e;
16428 }
16429
16430 function getBase(str) {
16431 // Need to get the lowest base for the supplied entropy.
16432 // This prevents interpreting, say, dice rolls as hexadecimal.
18abe53b
IC
16433 var binaryMatches = matchers.binary(str);
16434 var hexMatches = matchers.hex(str);
c6624d51 16435 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18abe53b
IC
16436 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
16437 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
c6624d51 16438 return {
18abe53b
IC
16439 ints: ints,
16440 parts: binaryMatches,
c6624d51
IC
16441 matcher: matchers.binary,
16442 asInt: 2,
16443 str: "binary",
16444 }
ebd8d4e8 16445 }
18abe53b
IC
16446 var cardMatches = matchers.card(str);
16447 if (cardMatches.length >= hexMatches.length / 2) {
16448 var ints = convertCardsToInts(cardMatches);
c6624d51 16449 return {
18abe53b
IC
16450 ints: ints,
16451 parts: cardMatches,
16452 matcher: matchers.card,
16453 asInt: 52,
16454 str: "card",
16455 }
16456 }
16457 var diceMatches = matchers.dice(str);
16458 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
16459 var ints = diceMatches.map(function(i) { return parseInt(i) });
16460 return {
16461 ints: ints,
16462 parts: diceMatches,
c6624d51
IC
16463 matcher: matchers.dice,
16464 asInt: 6,
16465 str: "dice",
ebd8d4e8 16466 }
c6624d51 16467 }
18abe53b
IC
16468 var base6Matches = matchers.base6(str);
16469 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
16470 var ints = base6Matches.map(function(i) { return parseInt(i) });
c6624d51 16471 return {
18abe53b
IC
16472 ints: ints,
16473 parts: base6Matches,
c6624d51
IC
16474 matcher: matchers.base6,
16475 asInt: 6,
16476 str: "base 6",
0515eeec 16477 }
c6624d51 16478 }
18abe53b
IC
16479 var base10Matches = matchers.base10(str);
16480 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
16481 var ints = base10Matches.map(function(i) { return parseInt(i) });
c6624d51 16482 return {
18abe53b
IC
16483 ints: ints,
16484 parts: base10Matches,
c6624d51
IC
16485 matcher: matchers.base10,
16486 asInt: 10,
16487 str: "base 10",
0515eeec 16488 }
c6624d51 16489 }
18abe53b 16490 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
c6624d51 16491 return {
18abe53b
IC
16492 ints: ints,
16493 parts: hexMatches,
c6624d51
IC
16494 matcher: matchers.hex,
16495 asInt: 16,
16496 str: "hexadecimal",
16497 }
0515eeec
IC
16498 }
16499
c6624d51
IC
16500 // Polyfill for Math.log2
16501 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
16502 Math.log2 = Math.log2 || function(x) {
18abe53b
IC
16503 // The polyfill isn't good enough because of the poor accuracy of
16504 // Math.LOG2E
16505 // log2(8) gave 2.9999999999999996 which when floored causes issues.
16506 // So instead use the BigInteger library to get it right.
16507 return BigInteger.log(x) / BigInteger.log(2);
c6624d51 16508 };
ebd8d4e8 16509
c6624d51 16510})();
ebd8d4e8 16511
1b12b2f5 16512
c6624d51
IC
16513// BigInteger library included here because
16514// only the entropy library depends on it
16515// so if entropy detection is removed so is the dependency
ebd8d4e8 16516
ebd8d4e8 16517
c6624d51
IC
16518/*
16519 JavaScript BigInteger library version 0.9.1
16520 http://silentmatt.com/biginteger/
ebd8d4e8 16521
c6624d51
IC
16522 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16523 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16524 Licensed under the MIT license.
efe41586 16525
c6624d51
IC
16526 Support for arbitrary internal representation base was added by
16527 Vitaly Magerya.
16528*/
efe41586 16529
c6624d51
IC
16530/*
16531 File: biginteger.js
16532
16533 Exports:
16534
16535 <BigInteger>
16536*/
16537(function(exports) {
16538"use strict";
16539/*
16540 Class: BigInteger
16541 An arbitrarily-large integer.
16542
16543 <BigInteger> objects should be considered immutable. None of the "built-in"
16544 methods modify *this* or their arguments. All properties should be
16545 considered private.
16546
16547 All the methods of <BigInteger> instances can be called "statically". The
16548 static versions are convenient if you don't already have a <BigInteger>
16549 object.
16550
16551 As an example, these calls are equivalent.
16552
16553 > BigInteger(4).multiply(5); // returns BigInteger(20);
16554 > BigInteger.multiply(4, 5); // returns BigInteger(20);
16555
16556 > var a = 42;
16557 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16558*/
16559
16560var CONSTRUCT = {}; // Unique token to call "private" version of constructor
16561
16562/*
16563 Constructor: BigInteger()
16564 Convert a value to a <BigInteger>.
16565
16566 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16567 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16568 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16569 without a radix argument.
16570
16571 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16572 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16573 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16574 > var n3 = BigInteger(n2); // Return n2, unchanged
16575
16576 The constructor form only takes an array and a sign. *n* must be an
16577 array of numbers in little-endian order, where each digit is between 0
16578 and BigInteger.base. The second parameter sets the sign: -1 for
16579 negative, +1 for positive, or 0 for zero. The array is *not copied and
16580 may be modified*. If the array contains only zeros, the sign parameter
16581 is ignored and is forced to zero.
16582
16583 > new BigInteger([5], -1): create a new BigInteger with value -5
16584
16585 Parameters:
16586
16587 n - Value to convert to a <BigInteger>.
16588
16589 Returns:
16590
16591 A <BigInteger> value.
16592
16593 See Also:
16594
16595 <parse>, <BigInteger>
16596*/
16597function BigInteger(n, s, token) {
16598 if (token !== CONSTRUCT) {
16599 if (n instanceof BigInteger) {
16600 return n;
16601 }
16602 else if (typeof n === "undefined") {
16603 return ZERO;
16604 }
16605 return BigInteger.parse(n);
16606 }
16607
16608 n = n || []; // Provide the nullary constructor for subclasses.
16609 while (n.length && !n[n.length - 1]) {
16610 --n.length;
16611 }
16612 this._d = n;
16613 this._s = n.length ? (s || 1) : 0;
16614}
16615
16616BigInteger._construct = function(n, s) {
16617 return new BigInteger(n, s, CONSTRUCT);
16618};
16619
16620// Base-10 speedup hacks in parse, toString, exp10 and log functions
16621// require base to be a power of 10. 10^7 is the largest such power
16622// that won't cause a precision loss when digits are multiplied.
16623var BigInteger_base = 10000000;
16624var BigInteger_base_log10 = 7;
16625
16626BigInteger.base = BigInteger_base;
16627BigInteger.base_log10 = BigInteger_base_log10;
16628
16629var ZERO = new BigInteger([], 0, CONSTRUCT);
16630// Constant: ZERO
16631// <BigInteger> 0.
16632BigInteger.ZERO = ZERO;
16633
16634var ONE = new BigInteger([1], 1, CONSTRUCT);
16635// Constant: ONE
16636// <BigInteger> 1.
16637BigInteger.ONE = ONE;
16638
16639var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16640// Constant: M_ONE
16641// <BigInteger> -1.
16642BigInteger.M_ONE = M_ONE;
16643
16644// Constant: _0
16645// Shortcut for <ZERO>.
16646BigInteger._0 = ZERO;
16647
16648// Constant: _1
16649// Shortcut for <ONE>.
16650BigInteger._1 = ONE;
16651
16652/*
16653 Constant: small
16654 Array of <BigIntegers> from 0 to 36.
16655
16656 These are used internally for parsing, but useful when you need a "small"
16657 <BigInteger>.
16658
16659 See Also:
16660
16661 <ZERO>, <ONE>, <_0>, <_1>
16662*/
16663BigInteger.small = [
16664 ZERO,
16665 ONE,
16666 /* Assuming BigInteger_base > 36 */
16667 new BigInteger( [2], 1, CONSTRUCT),
16668 new BigInteger( [3], 1, CONSTRUCT),
16669 new BigInteger( [4], 1, CONSTRUCT),
16670 new BigInteger( [5], 1, CONSTRUCT),
16671 new BigInteger( [6], 1, CONSTRUCT),
16672 new BigInteger( [7], 1, CONSTRUCT),
16673 new BigInteger( [8], 1, CONSTRUCT),
16674 new BigInteger( [9], 1, CONSTRUCT),
16675 new BigInteger([10], 1, CONSTRUCT),
16676 new BigInteger([11], 1, CONSTRUCT),
16677 new BigInteger([12], 1, CONSTRUCT),
16678 new BigInteger([13], 1, CONSTRUCT),
16679 new BigInteger([14], 1, CONSTRUCT),
16680 new BigInteger([15], 1, CONSTRUCT),
16681 new BigInteger([16], 1, CONSTRUCT),
16682 new BigInteger([17], 1, CONSTRUCT),
16683 new BigInteger([18], 1, CONSTRUCT),
16684 new BigInteger([19], 1, CONSTRUCT),
16685 new BigInteger([20], 1, CONSTRUCT),
16686 new BigInteger([21], 1, CONSTRUCT),
16687 new BigInteger([22], 1, CONSTRUCT),
16688 new BigInteger([23], 1, CONSTRUCT),
16689 new BigInteger([24], 1, CONSTRUCT),
16690 new BigInteger([25], 1, CONSTRUCT),
16691 new BigInteger([26], 1, CONSTRUCT),
16692 new BigInteger([27], 1, CONSTRUCT),
16693 new BigInteger([28], 1, CONSTRUCT),
16694 new BigInteger([29], 1, CONSTRUCT),
16695 new BigInteger([30], 1, CONSTRUCT),
16696 new BigInteger([31], 1, CONSTRUCT),
16697 new BigInteger([32], 1, CONSTRUCT),
16698 new BigInteger([33], 1, CONSTRUCT),
16699 new BigInteger([34], 1, CONSTRUCT),
16700 new BigInteger([35], 1, CONSTRUCT),
16701 new BigInteger([36], 1, CONSTRUCT)
16702];
16703
16704// Used for parsing/radix conversion
16705BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16706
16707/*
16708 Method: toString
16709 Convert a <BigInteger> to a string.
16710
16711 When *base* is greater than 10, letters are upper case.
16712
16713 Parameters:
16714
16715 base - Optional base to represent the number in (default is base 10).
16716 Must be between 2 and 36 inclusive, or an Error will be thrown.
16717
16718 Returns:
16719
16720 The string representation of the <BigInteger>.
16721*/
16722BigInteger.prototype.toString = function(base) {
16723 base = +base || 10;
16724 if (base < 2 || base > 36) {
16725 throw new Error("illegal radix " + base + ".");
16726 }
16727 if (this._s === 0) {
16728 return "0";
16729 }
16730 if (base === 10) {
16731 var str = this._s < 0 ? "-" : "";
16732 str += this._d[this._d.length - 1].toString();
16733 for (var i = this._d.length - 2; i >= 0; i--) {
16734 var group = this._d[i].toString();
16735 while (group.length < BigInteger_base_log10) group = '0' + group;
16736 str += group;
16737 }
16738 return str;
16739 }
16740 else {
16741 var numerals = BigInteger.digits;
16742 base = BigInteger.small[base];
16743 var sign = this._s;
16744
16745 var n = this.abs();
16746 var digits = [];
16747 var digit;
16748
16749 while (n._s !== 0) {
16750 var divmod = n.divRem(base);
16751 n = divmod[0];
16752 digit = divmod[1];
16753 // TODO: This could be changed to unshift instead of reversing at the end.
16754 // Benchmark both to compare speeds.
16755 digits.push(numerals[digit.valueOf()]);
16756 }
16757 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16758 }
16759};
16760
16761// Verify strings for parsing
16762BigInteger.radixRegex = [
16763 /^$/,
16764 /^$/,
16765 /^[01]*$/,
16766 /^[012]*$/,
16767 /^[0-3]*$/,
16768 /^[0-4]*$/,
16769 /^[0-5]*$/,
16770 /^[0-6]*$/,
16771 /^[0-7]*$/,
16772 /^[0-8]*$/,
16773 /^[0-9]*$/,
16774 /^[0-9aA]*$/,
16775 /^[0-9abAB]*$/,
16776 /^[0-9abcABC]*$/,
16777 /^[0-9a-dA-D]*$/,
16778 /^[0-9a-eA-E]*$/,
16779 /^[0-9a-fA-F]*$/,
16780 /^[0-9a-gA-G]*$/,
16781 /^[0-9a-hA-H]*$/,
16782 /^[0-9a-iA-I]*$/,
16783 /^[0-9a-jA-J]*$/,
16784 /^[0-9a-kA-K]*$/,
16785 /^[0-9a-lA-L]*$/,
16786 /^[0-9a-mA-M]*$/,
16787 /^[0-9a-nA-N]*$/,
16788 /^[0-9a-oA-O]*$/,
16789 /^[0-9a-pA-P]*$/,
16790 /^[0-9a-qA-Q]*$/,
16791 /^[0-9a-rA-R]*$/,
16792 /^[0-9a-sA-S]*$/,
16793 /^[0-9a-tA-T]*$/,
16794 /^[0-9a-uA-U]*$/,
16795 /^[0-9a-vA-V]*$/,
16796 /^[0-9a-wA-W]*$/,
16797 /^[0-9a-xA-X]*$/,
16798 /^[0-9a-yA-Y]*$/,
16799 /^[0-9a-zA-Z]*$/
16800];
16801
16802/*
16803 Function: parse
16804 Parse a string into a <BigInteger>.
16805
16806 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16807 *base* is not provided, it will be guessed based on the leading characters
16808 of *s* as follows:
16809
16810 - "0x" or "0X": *base* = 16
16811 - "0c" or "0C": *base* = 8
16812 - "0b" or "0B": *base* = 2
16813 - else: *base* = 10
16814
16815 If no base is provided, or *base* is 10, the number can be in exponential
16816 form. For example, these are all valid:
16817
16818 > BigInteger.parse("1e9"); // Same as "1000000000"
16819 > BigInteger.parse("1.234*10^3"); // Same as 1234
16820 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16821
16822 If any characters fall outside the range defined by the radix, an exception
16823 will be thrown.
16824
16825 Parameters:
16826
16827 s - The string to parse.
16828 base - Optional radix (default is to guess based on *s*).
16829
16830 Returns:
16831
16832 a <BigInteger> instance.
16833*/
16834BigInteger.parse = function(s, base) {
16835 // Expands a number in exponential form to decimal form.
16836 // expandExponential("-13.441*10^5") === "1344100";
16837 // expandExponential("1.12300e-1") === "0.112300";
16838 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16839 function expandExponential(str) {
16840 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16841
16842 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16843 c = +c;
16844 var l = c < 0;
16845 var i = n.length + c;
16846 x = (l ? n : f).length;
16847 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16848 var z = (new Array(c + 1)).join("0");
16849 var r = n + f;
16850 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16851 });
16852 }
16853
16854 s = s.toString();
16855 if (typeof base === "undefined" || +base === 10) {
16856 s = expandExponential(s);
16857 }
16858
16859 var prefixRE;
16860 if (typeof base === "undefined") {
16861 prefixRE = '0[xcb]';
16862 }
16863 else if (base == 16) {
16864 prefixRE = '0x';
16865 }
16866 else if (base == 8) {
16867 prefixRE = '0c';
16868 }
16869 else if (base == 2) {
16870 prefixRE = '0b';
16871 }
16872 else {
16873 prefixRE = '';
16874 }
16875 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
16876 if (parts) {
16877 var sign = parts[1] || "+";
16878 var baseSection = parts[2] || "";
16879 var digits = parts[3] || "";
16880
16881 if (typeof base === "undefined") {
16882 // Guess base
16883 if (baseSection === "0x" || baseSection === "0X") { // Hex
16884 base = 16;
16885 }
16886 else if (baseSection === "0c" || baseSection === "0C") { // Octal
16887 base = 8;
16888 }
16889 else if (baseSection === "0b" || baseSection === "0B") { // Binary
16890 base = 2;
16891 }
16892 else {
16893 base = 10;
16894 }
16895 }
16896 else if (base < 2 || base > 36) {
16897 throw new Error("Illegal radix " + base + ".");
16898 }
16899
16900 base = +base;
16901
16902 // Check for digits outside the range
16903 if (!(BigInteger.radixRegex[base].test(digits))) {
16904 throw new Error("Bad digit for radix " + base);
16905 }
16906
16907 // Strip leading zeros, and convert to array
16908 digits = digits.replace(/^0+/, "").split("");
16909 if (digits.length === 0) {
16910 return ZERO;
16911 }
16912
16913 // Get the sign (we know it's not zero)
16914 sign = (sign === "-") ? -1 : 1;
16915
16916 // Optimize 10
16917 if (base == 10) {
16918 var d = [];
16919 while (digits.length >= BigInteger_base_log10) {
16920 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
16921 }
16922 d.push(parseInt(digits.join(''), 10));
16923 return new BigInteger(d, sign, CONSTRUCT);
16924 }
16925
16926 // Do the conversion
16927 var d = ZERO;
16928 base = BigInteger.small[base];
16929 var small = BigInteger.small;
16930 for (var i = 0; i < digits.length; i++) {
16931 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
16932 }
16933 return new BigInteger(d._d, sign, CONSTRUCT);
16934 }
16935 else {
16936 throw new Error("Invalid BigInteger format: " + s);
16937 }
16938};
16939
16940/*
16941 Function: add
16942 Add two <BigIntegers>.
16943
16944 Parameters:
16945
16946 n - The number to add to *this*. Will be converted to a <BigInteger>.
16947
16948 Returns:
16949
16950 The numbers added together.
16951
16952 See Also:
16953
16954 <subtract>, <multiply>, <quotient>, <next>
16955*/
16956BigInteger.prototype.add = function(n) {
16957 if (this._s === 0) {
16958 return BigInteger(n);
16959 }
16960
16961 n = BigInteger(n);
16962 if (n._s === 0) {
16963 return this;
16964 }
16965 if (this._s !== n._s) {
16966 n = n.negate();
16967 return this.subtract(n);
16968 }
16969
16970 var a = this._d;
16971 var b = n._d;
16972 var al = a.length;
16973 var bl = b.length;
16974 var sum = new Array(Math.max(al, bl) + 1);
16975 var size = Math.min(al, bl);
16976 var carry = 0;
16977 var digit;
16978
16979 for (var i = 0; i < size; i++) {
16980 digit = a[i] + b[i] + carry;
16981 sum[i] = digit % BigInteger_base;
16982 carry = (digit / BigInteger_base) | 0;
16983 }
16984 if (bl > al) {
16985 a = b;
16986 al = bl;
16987 }
16988 for (i = size; carry && i < al; i++) {
16989 digit = a[i] + carry;
16990 sum[i] = digit % BigInteger_base;
16991 carry = (digit / BigInteger_base) | 0;
16992 }
16993 if (carry) {
16994 sum[i] = carry;
16995 }
16996
16997 for ( ; i < al; i++) {
16998 sum[i] = a[i];
16999 }
17000
17001 return new BigInteger(sum, this._s, CONSTRUCT);
17002};
17003
17004/*
17005 Function: negate
17006 Get the additive inverse of a <BigInteger>.
17007
17008 Returns:
17009
17010 A <BigInteger> with the same magnatude, but with the opposite sign.
17011
17012 See Also:
17013
17014 <abs>
17015*/
17016BigInteger.prototype.negate = function() {
17017 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
17018};
17019
17020/*
17021 Function: abs
17022 Get the absolute value of a <BigInteger>.
17023
17024 Returns:
17025
17026 A <BigInteger> with the same magnatude, but always positive (or zero).
17027
17028 See Also:
17029
17030 <negate>
17031*/
17032BigInteger.prototype.abs = function() {
17033 return (this._s < 0) ? this.negate() : this;
17034};
17035
17036/*
17037 Function: subtract
17038 Subtract two <BigIntegers>.
17039
17040 Parameters:
17041
17042 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
17043
17044 Returns:
17045
17046 The *n* subtracted from *this*.
17047
17048 See Also:
17049
17050 <add>, <multiply>, <quotient>, <prev>
17051*/
17052BigInteger.prototype.subtract = function(n) {
17053 if (this._s === 0) {
17054 return BigInteger(n).negate();
17055 }
17056
17057 n = BigInteger(n);
17058 if (n._s === 0) {
17059 return this;
17060 }
17061 if (this._s !== n._s) {
17062 n = n.negate();
17063 return this.add(n);
17064 }
17065
17066 var m = this;
17067 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
17068 if (this._s < 0) {
17069 m = new BigInteger(n._d, 1, CONSTRUCT);
17070 n = new BigInteger(this._d, 1, CONSTRUCT);
17071 }
17072
17073 // Both are positive => a - b
17074 var sign = m.compareAbs(n);
17075 if (sign === 0) {
17076 return ZERO;
17077 }
17078 else if (sign < 0) {
17079 // swap m and n
17080 var t = n;
17081 n = m;
17082 m = t;
17083 }
17084
17085 // a > b
17086 var a = m._d;
17087 var b = n._d;
17088 var al = a.length;
17089 var bl = b.length;
17090 var diff = new Array(al); // al >= bl since a > b
17091 var borrow = 0;
17092 var i;
17093 var digit;
17094
17095 for (i = 0; i < bl; i++) {
17096 digit = a[i] - borrow - b[i];
17097 if (digit < 0) {
17098 digit += BigInteger_base;
17099 borrow = 1;
17100 }
17101 else {
17102 borrow = 0;
17103 }
17104 diff[i] = digit;
17105 }
17106 for (i = bl; i < al; i++) {
17107 digit = a[i] - borrow;
17108 if (digit < 0) {
17109 digit += BigInteger_base;
17110 }
17111 else {
17112 diff[i++] = digit;
17113 break;
17114 }
17115 diff[i] = digit;
17116 }
17117 for ( ; i < al; i++) {
17118 diff[i] = a[i];
17119 }
17120
17121 return new BigInteger(diff, sign, CONSTRUCT);
17122};
17123
17124(function() {
17125 function addOne(n, sign) {
17126 var a = n._d;
17127 var sum = a.slice();
17128 var carry = true;
17129 var i = 0;
17130
17131 while (true) {
17132 var digit = (a[i] || 0) + 1;
17133 sum[i] = digit % BigInteger_base;
17134 if (digit <= BigInteger_base - 1) {
17135 break;
17136 }
17137 ++i;
17138 }
17139
17140 return new BigInteger(sum, sign, CONSTRUCT);
17141 }
17142
17143 function subtractOne(n, sign) {
17144 var a = n._d;
17145 var sum = a.slice();
17146 var borrow = true;
17147 var i = 0;
17148
17149 while (true) {
17150 var digit = (a[i] || 0) - 1;
17151 if (digit < 0) {
17152 sum[i] = digit + BigInteger_base;
17153 }
17154 else {
17155 sum[i] = digit;
17156 break;
17157 }
17158 ++i;
17159 }
17160
17161 return new BigInteger(sum, sign, CONSTRUCT);
17162 }
17163
17164 /*
17165 Function: next
17166 Get the next <BigInteger> (add one).
17167
17168 Returns:
17169
17170 *this* + 1.
17171
17172 See Also:
17173
17174 <add>, <prev>
17175 */
17176 BigInteger.prototype.next = function() {
17177 switch (this._s) {
17178 case 0:
17179 return ONE;
17180 case -1:
17181 return subtractOne(this, -1);
17182 // case 1:
17183 default:
17184 return addOne(this, 1);
17185 }
17186 };
17187
17188 /*
17189 Function: prev
17190 Get the previous <BigInteger> (subtract one).
17191
17192 Returns:
17193
17194 *this* - 1.
17195
17196 See Also:
17197
17198 <next>, <subtract>
17199 */
17200 BigInteger.prototype.prev = function() {
17201 switch (this._s) {
17202 case 0:
17203 return M_ONE;
17204 case -1:
17205 return addOne(this, -1);
17206 // case 1:
17207 default:
17208 return subtractOne(this, 1);
17209 }
17210 };
17211})();
17212
17213/*
17214 Function: compareAbs
17215 Compare the absolute value of two <BigIntegers>.
17216
17217 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
17218
17219 Parameters:
17220
17221 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17222
17223 Returns:
17224
17225 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
17226
17227 See Also:
17228
17229 <compare>, <abs>
17230*/
17231BigInteger.prototype.compareAbs = function(n) {
17232 if (this === n) {
17233 return 0;
17234 }
17235
17236 if (!(n instanceof BigInteger)) {
17237 if (!isFinite(n)) {
17238 return(isNaN(n) ? n : -1);
17239 }
17240 n = BigInteger(n);
17241 }
17242
17243 if (this._s === 0) {
17244 return (n._s !== 0) ? -1 : 0;
17245 }
17246 if (n._s === 0) {
17247 return 1;
17248 }
17249
17250 var l = this._d.length;
17251 var nl = n._d.length;
17252 if (l < nl) {
17253 return -1;
17254 }
17255 else if (l > nl) {
17256 return 1;
17257 }
17258
17259 var a = this._d;
17260 var b = n._d;
17261 for (var i = l-1; i >= 0; i--) {
17262 if (a[i] !== b[i]) {
17263 return a[i] < b[i] ? -1 : 1;
17264 }
17265 }
17266
17267 return 0;
17268};
17269
17270/*
17271 Function: compare
17272 Compare two <BigIntegers>.
17273
17274 Parameters:
17275
17276 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17277
17278 Returns:
17279
17280 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17281
17282 See Also:
17283
17284 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17285*/
17286BigInteger.prototype.compare = function(n) {
17287 if (this === n) {
17288 return 0;
17289 }
17290
17291 n = BigInteger(n);
17292
17293 if (this._s === 0) {
17294 return -n._s;
17295 }
17296
17297 if (this._s === n._s) { // both positive or both negative
17298 var cmp = this.compareAbs(n);
17299 return cmp * this._s;
17300 }
17301 else {
17302 return this._s;
17303 }
17304};
17305
17306/*
17307 Function: isUnit
17308 Return true iff *this* is either 1 or -1.
17309
17310 Returns:
17311
17312 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17313
17314 See Also:
17315
17316 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17317 <BigInteger.ONE>, <BigInteger.M_ONE>
17318*/
17319BigInteger.prototype.isUnit = function() {
17320 return this === ONE ||
17321 this === M_ONE ||
17322 (this._d.length === 1 && this._d[0] === 1);
17323};
17324
17325/*
17326 Function: multiply
17327 Multiply two <BigIntegers>.
17328
17329 Parameters:
17330
17331 n - The number to multiply *this* by. Will be converted to a
17332 <BigInteger>.
17333
17334 Returns:
17335
17336 The numbers multiplied together.
17337
17338 See Also:
17339
17340 <add>, <subtract>, <quotient>, <square>
17341*/
17342BigInteger.prototype.multiply = function(n) {
17343 // TODO: Consider adding Karatsuba multiplication for large numbers
17344 if (this._s === 0) {
17345 return ZERO;
17346 }
17347
17348 n = BigInteger(n);
17349 if (n._s === 0) {
17350 return ZERO;
17351 }
17352 if (this.isUnit()) {
17353 if (this._s < 0) {
17354 return n.negate();
17355 }
17356 return n;
17357 }
17358 if (n.isUnit()) {
17359 if (n._s < 0) {
17360 return this.negate();
17361 }
17362 return this;
17363 }
17364 if (this === n) {
17365 return this.square();
17366 }
17367
17368 var r = (this._d.length >= n._d.length);
17369 var a = (r ? this : n)._d; // a will be longer than b
17370 var b = (r ? n : this)._d;
17371 var al = a.length;
17372 var bl = b.length;
17373
17374 var pl = al + bl;
17375 var partial = new Array(pl);
17376 var i;
17377 for (i = 0; i < pl; i++) {
17378 partial[i] = 0;
17379 }
17380
17381 for (i = 0; i < bl; i++) {
17382 var carry = 0;
17383 var bi = b[i];
17384 var jlimit = al + i;
17385 var digit;
17386 for (var j = i; j < jlimit; j++) {
17387 digit = partial[j] + bi * a[j - i] + carry;
17388 carry = (digit / BigInteger_base) | 0;
17389 partial[j] = (digit % BigInteger_base) | 0;
17390 }
17391 if (carry) {
17392 digit = partial[j] + carry;
17393 carry = (digit / BigInteger_base) | 0;
17394 partial[j] = digit % BigInteger_base;
17395 }
17396 }
17397 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17398};
17399
17400// Multiply a BigInteger by a single-digit native number
17401// Assumes that this and n are >= 0
17402// This is not really intended to be used outside the library itself
17403BigInteger.prototype.multiplySingleDigit = function(n) {
17404 if (n === 0 || this._s === 0) {
17405 return ZERO;
17406 }
17407 if (n === 1) {
17408 return this;
17409 }
17410
17411 var digit;
17412 if (this._d.length === 1) {
17413 digit = this._d[0] * n;
17414 if (digit >= BigInteger_base) {
17415 return new BigInteger([(digit % BigInteger_base)|0,
17416 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17417 }
17418 return new BigInteger([digit], 1, CONSTRUCT);
17419 }
17420
17421 if (n === 2) {
17422 return this.add(this);
17423 }
17424 if (this.isUnit()) {
17425 return new BigInteger([n], 1, CONSTRUCT);
17426 }
17427
17428 var a = this._d;
17429 var al = a.length;
17430
17431 var pl = al + 1;
17432 var partial = new Array(pl);
17433 for (var i = 0; i < pl; i++) {
17434 partial[i] = 0;
17435 }
17436
17437 var carry = 0;
17438 for (var j = 0; j < al; j++) {
17439 digit = n * a[j] + carry;
17440 carry = (digit / BigInteger_base) | 0;
17441 partial[j] = (digit % BigInteger_base) | 0;
17442 }
17443 if (carry) {
17444 partial[j] = carry;
17445 }
17446
17447 return new BigInteger(partial, 1, CONSTRUCT);
17448};
17449
17450/*
17451 Function: square
17452 Multiply a <BigInteger> by itself.
17453
17454 This is slightly faster than regular multiplication, since it removes the
17455 duplicated multiplcations.
17456
17457 Returns:
17458
17459 > this.multiply(this)
17460
17461 See Also:
17462 <multiply>
17463*/
17464BigInteger.prototype.square = function() {
17465 // Normally, squaring a 10-digit number would take 100 multiplications.
17466 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17467 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17468 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17469
17470 if (this._s === 0) {
17471 return ZERO;
17472 }
17473 if (this.isUnit()) {
17474 return ONE;
17475 }
17476
17477 var digits = this._d;
17478 var length = digits.length;
17479 var imult1 = new Array(length + length + 1);
17480 var product, carry, k;
17481 var i;
17482
17483 // Calculate diagonal
17484 for (i = 0; i < length; i++) {
17485 k = i * 2;
17486 product = digits[i] * digits[i];
17487 carry = (product / BigInteger_base) | 0;
17488 imult1[k] = product % BigInteger_base;
17489 imult1[k + 1] = carry;
17490 }
17491
17492 // Calculate repeating part
17493 for (i = 0; i < length; i++) {
17494 carry = 0;
17495 k = i * 2 + 1;
17496 for (var j = i + 1; j < length; j++, k++) {
17497 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17498 carry = (product / BigInteger_base) | 0;
17499 imult1[k] = product % BigInteger_base;
17500 }
17501 k = length + i;
17502 var digit = carry + imult1[k];
17503 carry = (digit / BigInteger_base) | 0;
17504 imult1[k] = digit % BigInteger_base;
17505 imult1[k + 1] += carry;
17506 }
17507
17508 return new BigInteger(imult1, 1, CONSTRUCT);
17509};
17510
17511/*
17512 Function: quotient
17513 Divide two <BigIntegers> and truncate towards zero.
17514
17515 <quotient> throws an exception if *n* is zero.
17516
17517 Parameters:
17518
17519 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17520
17521 Returns:
17522
17523 The *this* / *n*, truncated to an integer.
17524
17525 See Also:
17526
17527 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17528*/
17529BigInteger.prototype.quotient = function(n) {
17530 return this.divRem(n)[0];
17531};
17532
17533/*
17534 Function: divide
17535 Deprecated synonym for <quotient>.
17536*/
17537BigInteger.prototype.divide = BigInteger.prototype.quotient;
17538
17539/*
17540 Function: remainder
17541 Calculate the remainder of two <BigIntegers>.
17542
17543 <remainder> throws an exception if *n* is zero.
17544
17545 Parameters:
17546
17547 n - The remainder after *this* is divided *this* by *n*. Will be
17548 converted to a <BigInteger>.
17549
17550 Returns:
17551
17552 *this* % *n*.
17553
17554 See Also:
17555
17556 <divRem>, <quotient>
17557*/
17558BigInteger.prototype.remainder = function(n) {
17559 return this.divRem(n)[1];
17560};
17561
17562/*
17563 Function: divRem
17564 Calculate the integer quotient and remainder of two <BigIntegers>.
17565
17566 <divRem> throws an exception if *n* is zero.
17567
17568 Parameters:
17569
17570 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17571
17572 Returns:
17573
17574 A two-element array containing the quotient and the remainder.
17575
17576 > a.divRem(b)
17577
17578 is exactly equivalent to
17579
17580 > [a.quotient(b), a.remainder(b)]
17581
17582 except it is faster, because they are calculated at the same time.
17583
17584 See Also:
17585
17586 <quotient>, <remainder>
17587*/
17588BigInteger.prototype.divRem = function(n) {
17589 n = BigInteger(n);
17590 if (n._s === 0) {
17591 throw new Error("Divide by zero");
17592 }
17593 if (this._s === 0) {
17594 return [ZERO, ZERO];
17595 }
17596 if (n._d.length === 1) {
17597 return this.divRemSmall(n._s * n._d[0]);
17598 }
17599
17600 // Test for easy cases -- |n1| <= |n2|
17601 switch (this.compareAbs(n)) {
17602 case 0: // n1 == n2
17603 return [this._s === n._s ? ONE : M_ONE, ZERO];
17604 case -1: // |n1| < |n2|
17605 return [ZERO, this];
17606 }
17607
17608 var sign = this._s * n._s;
17609 var a = n.abs();
17610 var b_digits = this._d;
17611 var b_index = b_digits.length;
17612 var digits = n._d.length;
17613 var quot = [];
17614 var guess;
17615
17616 var part = new BigInteger([], 0, CONSTRUCT);
17617
17618 while (b_index) {
17619 part._d.unshift(b_digits[--b_index]);
17620 part = new BigInteger(part._d, 1, CONSTRUCT);
17621
17622 if (part.compareAbs(n) < 0) {
17623 quot.push(0);
17624 continue;
17625 }
17626 if (part._s === 0) {
17627 guess = 0;
17628 }
17629 else {
17630 var xlen = part._d.length, ylen = a._d.length;
17631 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17632 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17633 if (part._d.length > a._d.length) {
17634 // The length of part._d can either match a._d length,
17635 // or exceed it by one.
17636 highx = (highx+1)*BigInteger_base;
17637 }
17638 guess = Math.ceil(highx/highy);
17639 }
17640 do {
17641 var check = a.multiplySingleDigit(guess);
17642 if (check.compareAbs(part) <= 0) {
17643 break;
17644 }
17645 guess--;
17646 } while (guess);
17647
17648 quot.push(guess);
17649 if (!guess) {
17650 continue;
17651 }
17652 var diff = part.subtract(check);
17653 part._d = diff._d.slice();
17654 }
17655
17656 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17657 new BigInteger(part._d, this._s, CONSTRUCT)];
17658};
17659
17660// Throws an exception if n is outside of (-BigInteger.base, -1] or
17661// [1, BigInteger.base). It's not necessary to call this, since the
17662// other division functions will call it if they are able to.
17663BigInteger.prototype.divRemSmall = function(n) {
17664 var r;
17665 n = +n;
17666 if (n === 0) {
17667 throw new Error("Divide by zero");
17668 }
17669
17670 var n_s = n < 0 ? -1 : 1;
17671 var sign = this._s * n_s;
17672 n = Math.abs(n);
17673
17674 if (n < 1 || n >= BigInteger_base) {
17675 throw new Error("Argument out of range");
17676 }
17677
17678 if (this._s === 0) {
17679 return [ZERO, ZERO];
17680 }
17681
17682 if (n === 1 || n === -1) {
17683 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17684 }
17685
17686 // 2 <= n < BigInteger_base
17687
17688 // divide a single digit by a single digit
17689 if (this._d.length === 1) {
17690 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17691 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17692 if (sign < 0) {
17693 q = q.negate();
17694 }
17695 if (this._s < 0) {
17696 r = r.negate();
17697 }
17698 return [q, r];
17699 }
17700
17701 var digits = this._d.slice();
17702 var quot = new Array(digits.length);
17703 var part = 0;
17704 var diff = 0;
17705 var i = 0;
17706 var guess;
17707
17708 while (digits.length) {
17709 part = part * BigInteger_base + digits[digits.length - 1];
17710 if (part < n) {
17711 quot[i++] = 0;
17712 digits.pop();
17713 diff = BigInteger_base * diff + part;
17714 continue;
17715 }
17716 if (part === 0) {
17717 guess = 0;
17718 }
17719 else {
17720 guess = (part / n) | 0;
17721 }
17722
17723 var check = n * guess;
17724 diff = part - check;
17725 quot[i++] = guess;
17726 if (!guess) {
17727 digits.pop();
17728 continue;
17729 }
17730
17731 digits.pop();
17732 part = diff;
17733 }
17734
17735 r = new BigInteger([diff], 1, CONSTRUCT);
17736 if (this._s < 0) {
17737 r = r.negate();
17738 }
17739 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17740};
17741
17742/*
17743 Function: isEven
17744 Return true iff *this* is divisible by two.
17745
17746 Note that <BigInteger.ZERO> is even.
17747
17748 Returns:
17749
17750 true if *this* is even, false otherwise.
17751
17752 See Also:
17753
17754 <isOdd>
17755*/
17756BigInteger.prototype.isEven = function() {
17757 var digits = this._d;
17758 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17759};
17760
17761/*
17762 Function: isOdd
17763 Return true iff *this* is not divisible by two.
17764
17765 Returns:
17766
17767 true if *this* is odd, false otherwise.
17768
17769 See Also:
17770
17771 <isEven>
17772*/
17773BigInteger.prototype.isOdd = function() {
17774 return !this.isEven();
17775};
17776
17777/*
17778 Function: sign
17779 Get the sign of a <BigInteger>.
17780
17781 Returns:
17782
17783 * -1 if *this* < 0
17784 * 0 if *this* == 0
17785 * +1 if *this* > 0
17786
17787 See Also:
17788
17789 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17790*/
17791BigInteger.prototype.sign = function() {
17792 return this._s;
17793};
17794
17795/*
17796 Function: isPositive
17797 Return true iff *this* > 0.
17798
17799 Returns:
17800
17801 true if *this*.compare(<BigInteger.ZERO>) == 1.
17802
17803 See Also:
17804
17805 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17806*/
17807BigInteger.prototype.isPositive = function() {
17808 return this._s > 0;
17809};
17810
17811/*
17812 Function: isNegative
17813 Return true iff *this* < 0.
17814
17815 Returns:
17816
17817 true if *this*.compare(<BigInteger.ZERO>) == -1.
17818
17819 See Also:
17820
17821 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17822*/
17823BigInteger.prototype.isNegative = function() {
17824 return this._s < 0;
17825};
17826
17827/*
17828 Function: isZero
17829 Return true iff *this* == 0.
17830
17831 Returns:
17832
17833 true if *this*.compare(<BigInteger.ZERO>) == 0.
17834
17835 See Also:
17836
17837 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17838*/
17839BigInteger.prototype.isZero = function() {
17840 return this._s === 0;
17841};
17842
17843/*
17844 Function: exp10
17845 Multiply a <BigInteger> by a power of 10.
17846
17847 This is equivalent to, but faster than
17848
17849 > if (n >= 0) {
17850 > return this.multiply(BigInteger("1e" + n));
17851 > }
17852 > else { // n <= 0
17853 > return this.quotient(BigInteger("1e" + -n));
17854 > }
17855
17856 Parameters:
17857
17858 n - The power of 10 to multiply *this* by. *n* is converted to a
17859 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17860 (0x7FFFFFFF), or an exception will be thrown.
17861
17862 Returns:
17863
17864 *this* * (10 ** *n*), truncated to an integer if necessary.
17865
17866 See Also:
17867
17868 <pow>, <multiply>
17869*/
17870BigInteger.prototype.exp10 = function(n) {
17871 n = +n;
17872 if (n === 0) {
17873 return this;
17874 }
17875 if (Math.abs(n) > Number(MAX_EXP)) {
17876 throw new Error("exponent too large in BigInteger.exp10");
17877 }
17878 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
17879 if (this._s === 0) {
17880 return ZERO;
17881 }
17882 if (n > 0) {
17883 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17884
17885 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17886 k._d.unshift(0);
17887 }
17888 if (n == 0)
17889 return k;
17890 k._s = 1;
17891 k = k.multiplySingleDigit(Math.pow(10, n));
17892 return (this._s < 0 ? k.negate() : k);
17893 } else if (-n >= this._d.length*BigInteger_base_log10) {
17894 return ZERO;
17895 } else {
17896 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17897
17898 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17899 k._d.shift();
17900 }
17901 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
17902 }
17903};
17904
17905/*
17906 Function: pow
17907 Raise a <BigInteger> to a power.
17908
17909 In this implementation, 0**0 is 1.
17910
17911 Parameters:
17912
17913 n - The exponent to raise *this* by. *n* must be no greater than
17914 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
17915
17916 Returns:
17917
17918 *this* raised to the *nth* power.
17919
17920 See Also:
17921
17922 <modPow>
17923*/
17924BigInteger.prototype.pow = function(n) {
17925 if (this.isUnit()) {
17926 if (this._s > 0) {
17927 return this;
17928 }
17929 else {
17930 return BigInteger(n).isOdd() ? this : this.negate();
17931 }
17932 }
17933
17934 n = BigInteger(n);
17935 if (n._s === 0) {
17936 return ONE;
17937 }
17938 else if (n._s < 0) {
17939 if (this._s === 0) {
17940 throw new Error("Divide by zero");
17941 }
17942 else {
17943 return ZERO;
17944 }
17945 }
17946 if (this._s === 0) {
17947 return ZERO;
17948 }
17949 if (n.isUnit()) {
17950 return this;
17951 }
17952
17953 if (n.compareAbs(MAX_EXP) > 0) {
17954 throw new Error("exponent too large in BigInteger.pow");
17955 }
17956 var x = this;
17957 var aux = ONE;
17958 var two = BigInteger.small[2];
17959
17960 while (n.isPositive()) {
17961 if (n.isOdd()) {
17962 aux = aux.multiply(x);
17963 if (n.isUnit()) {
17964 return aux;
17965 }
17966 }
17967 x = x.square();
17968 n = n.quotient(two);
17969 }
17970
17971 return aux;
17972};
17973
17974/*
17975 Function: modPow
17976 Raise a <BigInteger> to a power (mod m).
17977
17978 Because it is reduced by a modulus, <modPow> is not limited by
17979 <BigInteger.MAX_EXP> like <pow>.
17980
17981 Parameters:
17982
17983 exponent - The exponent to raise *this* by. Must be positive.
17984 modulus - The modulus.
17985
17986 Returns:
17987
17988 *this* ^ *exponent* (mod *modulus*).
17989
17990 See Also:
17991
17992 <pow>, <mod>
17993*/
17994BigInteger.prototype.modPow = function(exponent, modulus) {
17995 var result = ONE;
17996 var base = this;
17997
17998 while (exponent.isPositive()) {
17999 if (exponent.isOdd()) {
18000 result = result.multiply(base).remainder(modulus);
18001 }
18002
18003 exponent = exponent.quotient(BigInteger.small[2]);
18004 if (exponent.isPositive()) {
18005 base = base.square().remainder(modulus);
18006 }
18007 }
18008
18009 return result;
18010};
18011
18012/*
18013 Function: log
18014 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
18015
18016 This is equivalent to
18017
18018 > Math.log(this.toJSValue())
18019
18020 but handles values outside of the native number range.
18021
18022 Returns:
18023
18024 log( *this* )
18025
18026 See Also:
18027
18028 <toJSValue>
18029*/
18030BigInteger.prototype.log = function() {
18031 switch (this._s) {
18032 case 0: return -Infinity;
18033 case -1: return NaN;
18034 default: // Fall through.
18035 }
18036
18037 var l = this._d.length;
18038
18039 if (l*BigInteger_base_log10 < 30) {
18040 return Math.log(this.valueOf());
18041 }
18042
18043 var N = Math.ceil(30/BigInteger_base_log10);
18044 var firstNdigits = this._d.slice(l - N);
18045 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
18046};
18047
18048/*
18049 Function: valueOf
18050 Convert a <BigInteger> to a native JavaScript integer.
18051
18052 This is called automatically by JavaScipt to convert a <BigInteger> to a
18053 native value.
18054
18055 Returns:
18056
18057 > parseInt(this.toString(), 10)
18058
18059 See Also:
18060
18061 <toString>, <toJSValue>
18062*/
18063BigInteger.prototype.valueOf = function() {
18064 return parseInt(this.toString(), 10);
18065};
18066
18067/*
18068 Function: toJSValue
18069 Convert a <BigInteger> to a native JavaScript integer.
18070
18071 This is the same as valueOf, but more explicitly named.
18072
18073 Returns:
18074
18075 > parseInt(this.toString(), 10)
18076
18077 See Also:
18078
18079 <toString>, <valueOf>
18080*/
18081BigInteger.prototype.toJSValue = function() {
18082 return parseInt(this.toString(), 10);
18083};
18084
18085var MAX_EXP = BigInteger(0x7FFFFFFF);
18086// Constant: MAX_EXP
18087// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
18088BigInteger.MAX_EXP = MAX_EXP;
18089
18090(function() {
18091 function makeUnary(fn) {
18092 return function(a) {
18093 return fn.call(BigInteger(a));
18094 };
18095 }
18096
18097 function makeBinary(fn) {
18098 return function(a, b) {
18099 return fn.call(BigInteger(a), BigInteger(b));
18100 };
18101 }
18102
18103 function makeTrinary(fn) {
18104 return function(a, b, c) {
18105 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
18106 };
18107 }
18108
18109 (function() {
18110 var i, fn;
18111 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
18112 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
18113 var trinary = ["modPow"];
18114
18115 for (i = 0; i < unary.length; i++) {
18116 fn = unary[i];
18117 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
18118 }
18119
18120 for (i = 0; i < binary.length; i++) {
18121 fn = binary[i];
18122 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
18123 }
18124
18125 for (i = 0; i < trinary.length; i++) {
18126 fn = trinary[i];
18127 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
18128 }
18129
18130 BigInteger.exp10 = function(x, n) {
18131 return BigInteger(x).exp10(n);
18132 };
18133 })();
18134})();
18135
18136exports.BigInteger = BigInteger;
18137})(typeof exports !== 'undefined' ? exports : this);
18138</script>
18139 <script>(function() {
18140
18141 // mnemonics is populated as required by getLanguage
18142 var mnemonics = { "english": new Mnemonic("english") };
18143 var mnemonic = mnemonics["english"];
18144 var seed = null
18145 var bip32RootKey = null;
18146 var bip32ExtendedKey = null;
18147 var network = bitcoin.networks.bitcoin;
18148 var addressRowTemplate = $("#address-row-template");
18149
18150 var showIndex = true;
18151 var showAddress = true;
18152 var showPubKey = true;
18153 var showPrivKey = true;
18154
18155 var entropyChangeTimeoutEvent = null;
18156 var phraseChangeTimeoutEvent = null;
18157 var rootKeyChangedTimeoutEvent = null;
18158
18159 var DOM = {};
18160 DOM.network = $(".network");
18161 DOM.phraseNetwork = $("#network-phrase");
18162 DOM.useEntropy = $(".use-entropy");
18163 DOM.entropyContainer = $(".entropy-container");
18164 DOM.entropy = $(".entropy");
18abe53b
IC
18165 DOM.entropyFeedback = $(".entropy-feedback");
18166 DOM.entropyFiltered = DOM.entropyFeedback.find(".filtered");
18167 DOM.entropyType = DOM.entropyFeedback.find(".type");
18168 DOM.entropyStrength = DOM.entropyFeedback.find(".strength");
18169 DOM.entropyEventCount = DOM.entropyFeedback.find(".event-count");
18170 DOM.entropyBits = DOM.entropyFeedback.find(".bits");
18171 DOM.entropyBitsPerEvent = DOM.entropyFeedback.find(".bits-per-event");
18172 DOM.entropyMnemonicLength = DOM.entropyFeedback.find(".mnemonic-length");
c6624d51
IC
18173 DOM.phrase = $(".phrase");
18174 DOM.passphrase = $(".passphrase");
18175 DOM.generateContainer = $(".generate-container");
18176 DOM.generate = $(".generate");
18177 DOM.seed = $(".seed");
18178 DOM.rootKey = $(".root-key");
18179 DOM.extendedPrivKey = $(".extended-priv-key");
18180 DOM.extendedPubKey = $(".extended-pub-key");
18181 DOM.bip32tab = $("#bip32-tab");
18182 DOM.bip44tab = $("#bip44-tab");
18183 DOM.bip32panel = $("#bip32");
18184 DOM.bip44panel = $("#bip44");
18185 DOM.bip32path = $("#bip32-path");
18186 DOM.bip44path = $("#bip44-path");
18187 DOM.bip44purpose = $("#bip44 .purpose");
18188 DOM.bip44coin = $("#bip44 .coin");
18189 DOM.bip44account = $("#bip44 .account");
18190 DOM.bip44change = $("#bip44 .change");
18abe53b 18191 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18192 DOM.hardenedAddresses = $(".hardened-addresses");
18193 DOM.addresses = $(".addresses");
18194 DOM.rowsToAdd = $(".rows-to-add");
18195 DOM.more = $(".more");
18196 DOM.feedback = $(".feedback");
18197 DOM.tab = $(".derivation-type a");
18198 DOM.indexToggle = $(".index-toggle");
18199 DOM.addressToggle = $(".address-toggle");
18200 DOM.publicKeyToggle = $(".public-key-toggle");
18201 DOM.privateKeyToggle = $(".private-key-toggle");
18202 DOM.languages = $(".languages a");
18203
18204 function init() {
18205 // Events
18206 DOM.network.on("change", networkChanged);
18207 DOM.useEntropy.on("change", setEntropyVisibility);
18208 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18209 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18210 DOM.phrase.on("input", delayedPhraseChanged);
18211 DOM.passphrase.on("input", delayedPhraseChanged);
18212 DOM.generate.on("click", generateClicked);
18213 DOM.more.on("click", showMore);
18214 DOM.rootKey.on("input", delayedRootKeyChanged);
18215 DOM.bip32path.on("input", calcForDerivationPath);
18216 DOM.bip44purpose.on("input", calcForDerivationPath);
18217 DOM.bip44coin.on("input", calcForDerivationPath);
18218 DOM.bip44account.on("input", calcForDerivationPath);
18219 DOM.bip44change.on("input", calcForDerivationPath);
18220 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18221 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18222 DOM.indexToggle.on("click", toggleIndexes);
18223 DOM.addressToggle.on("click", toggleAddresses);
18224 DOM.publicKeyToggle.on("click", togglePublicKeys);
18225 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18226 DOM.languages.on("click", languageChanged);
18227 disableForms();
18228 hidePending();
18229 hideValidationError();
18230 populateNetworkSelect();
18231 }
18232
18233 // Event handlers
18234
18235 function networkChanged(e) {
18236 var networkIndex = e.target.value;
18237 networks[networkIndex].onSelect();
18238 if (seed != null) {
18239 phraseChanged();
18240 }
18241 else {
18242 rootKeyChanged();
18243 }
18244 }
18245
18246 function setEntropyVisibility() {
18247 if (isUsingOwnEntropy()) {
18248 DOM.entropyContainer.removeClass("hidden");
18249 DOM.generateContainer.addClass("hidden");
18250 DOM.phrase.prop("readonly", true);
18251 DOM.entropy.focus();
18252 entropyChanged();
18253 }
18254 else {
18255 DOM.entropyContainer.addClass("hidden");
18256 DOM.generateContainer.removeClass("hidden");
18257 DOM.phrase.prop("readonly", false);
18abe53b 18258 hidePending();
c6624d51
IC
18259 }
18260 }
18261
18262 function delayedPhraseChanged() {
18263 hideValidationError();
18264 showPending();
18265 if (phraseChangeTimeoutEvent != null) {
18266 clearTimeout(phraseChangeTimeoutEvent);
18267 }
18268 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18269 }
18270
18271 function phraseChanged() {
18272 showPending();
18273 hideValidationError();
18274 setMnemonicLanguage();
18275 // Get the mnemonic phrase
18276 var phrase = DOM.phrase.val();
18277 var errorText = findPhraseErrors(phrase);
18278 if (errorText) {
18279 showValidationError(errorText);
18280 return;
18281 }
18282 // Calculate and display
18283 var passphrase = DOM.passphrase.val();
18284 calcBip32RootKeyFromSeed(phrase, passphrase);
18285 calcForDerivationPath();
18286 hidePending();
18287 }
18288
18289 function delayedEntropyChanged() {
18290 hideValidationError();
18291 showPending();
18292 if (entropyChangeTimeoutEvent != null) {
18293 clearTimeout(entropyChangeTimeoutEvent);
18294 }
18295 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18296 }
18297
18298 function entropyChanged() {
18abe53b
IC
18299 // If blank entropy, clear mnemonic, addresses, errors
18300 if (DOM.entropy.val().trim().length == 0) {
18301 clearDisplay();
18302 hideEntropyFeedback();
18303 DOM.phrase.val("");
18304 showValidationError("Blank entropy");
18305 return;
18306 }
18307 // Get the current phrase to detect changes
18308 var phrase = DOM.phrase.val();
18309 // Set the phrase from the entropy
c6624d51 18310 setMnemonicFromEntropy();
18abe53b
IC
18311 // Recalc addresses if the phrase has changed
18312 var newPhrase = DOM.phrase.val();
18313 if (newPhrase != phrase) {
18314 if (newPhrase.length == 0) {
18315 clearDisplay();
18316 }
18317 else {
18318 phraseChanged();
18319 }
18320 }
18321 else {
18322 hidePending();
18323 }
c6624d51
IC
18324 }
18325
18326 function delayedRootKeyChanged() {
18327 // Warn if there is an existing mnemonic or passphrase.
18328 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18329 if (!confirm("This will clear existing mnemonic and passphrase")) {
18330 DOM.rootKey.val(bip32RootKey);
18331 return
18332 }
18333 }
18334 hideValidationError();
18335 showPending();
18336 // Clear existing mnemonic and passphrase
18337 DOM.phrase.val("");
18338 DOM.passphrase.val("");
18339 seed = null;
18340 if (rootKeyChangedTimeoutEvent != null) {
18341 clearTimeout(rootKeyChangedTimeoutEvent);
18342 }
18343 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18344 }
18345
18346 function rootKeyChanged() {
18347 showPending();
18348 hideValidationError();
18349 // Validate the root key TODO
18350 var rootKeyBase58 = DOM.rootKey.val();
18351 var errorText = validateRootKey(rootKeyBase58);
18352 if (errorText) {
18353 showValidationError(errorText);
18354 return;
18355 }
18356 // Calculate and display
18357 calcBip32RootKeyFromBase58(rootKeyBase58);
18358 calcForDerivationPath();
18359 hidePending();
18360 }
18361
18362 function calcForDerivationPath() {
18363 showPending();
18364 hideValidationError();
18365 // Get the derivation path
18366 var derivationPath = getDerivationPath();
18367 var errorText = findDerivationPathErrors(derivationPath);
18368 if (errorText) {
18369 showValidationError(errorText);
18370 return;
18371 }
18372 calcBip32ExtendedKey(derivationPath);
18373 displayBip32Info();
18374 hidePending();
18375 }
18376
18377 function generateClicked() {
18378 if (isUsingOwnEntropy()) {
18379 return;
18380 }
18381 clearDisplay();
18382 showPending();
18383 setTimeout(function() {
18384 setMnemonicLanguage();
18385 var phrase = generateRandomPhrase();
18386 if (!phrase) {
18387 return;
18388 }
18389 phraseChanged();
18390 }, 50);
18391 }
18392
18393 function languageChanged() {
18394 setTimeout(function() {
18395 setMnemonicLanguage();
18396 if (DOM.phrase.val().length > 0) {
18397 var newPhrase = convertPhraseToNewLanguage();
18398 DOM.phrase.val(newPhrase);
18399 phraseChanged();
18400 }
18401 else {
18402 DOM.generate.trigger("click");
18403 }
18404 }, 50);
18405 }
18406
18407 function toggleIndexes() {
18408 showIndex = !showIndex;
18409 $("td.index span").toggleClass("invisible");
18410 }
18411
18412 function toggleAddresses() {
18413 showAddress = !showAddress;
18414 $("td.address span").toggleClass("invisible");
18415 }
18416
18417 function togglePublicKeys() {
18418 showPubKey = !showPubKey;
18419 $("td.pubkey span").toggleClass("invisible");
18420 }
18421
18422 function togglePrivateKeys() {
18423 showPrivKey = !showPrivKey;
18424 $("td.privkey span").toggleClass("invisible");
18425 }
18426
18427 // Private methods
18428
18429 function generateRandomPhrase() {
18430 if (!hasStrongRandom()) {
18431 var errorText = "This browser does not support strong randomness";
18432 showValidationError(errorText);
18433 return;
18434 }
18abe53b 18435 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18436 var strength = numWords / 3 * 32;
18437 var words = mnemonic.generate(strength);
18438 DOM.phrase.val(words);
18439 return words;
18440 }
18441
18442 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18443 seed = mnemonic.toSeed(phrase, passphrase);
18444 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18445 }
18446
18447 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18448 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18449 }
18450
18451 function calcBip32ExtendedKey(path) {
18452 bip32ExtendedKey = bip32RootKey;
18453 // Derive the key from the path
18454 var pathBits = path.split("/");
ebd8d4e8
IC
18455 for (var i=0; i<pathBits.length; i++) {
18456 var bit = pathBits[i];
18457 var index = parseInt(bit);
18458 if (isNaN(index)) {
18459 continue;
18460 }
18461 var hardened = bit[bit.length-1] == "'";
18462 if (hardened) {
18463 bip32ExtendedKey = bip32ExtendedKey.deriveHardened(index);
18464 }
18465 else {
18466 bip32ExtendedKey = bip32ExtendedKey.derive(index);
18467 }
18468 }
18469 }
18470
18471 function showValidationError(errorText) {
18472 DOM.feedback
18473 .text(errorText)
18474 .show();
18475 }
18476
18477 function hideValidationError() {
18478 DOM.feedback
18479 .text("")
18480 .hide();
18481 }
18482
18483 function findPhraseErrors(phrase) {
ebd8d4e8 18484 // Preprocess the words
783981de 18485 phrase = mnemonic.normalizeString(phrase);
0515eeec 18486 var words = phraseToWordArray(phrase);
18abe53b
IC
18487 // Detect blank phrase
18488 if (words.length == 0) {
18489 return "Blank mnemonic";
18490 }
563e401a 18491 // Check each word
0515eeec
IC
18492 for (var i=0; i<words.length; i++) {
18493 var word = words[i];
18494 var language = getLanguage();
18495 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
18496 console.log("Finding closest match to " + word);
18497 var nearestWord = findNearestWord(word);
18498 return word + " not in wordlist, did you mean " + nearestWord + "?";
18499 }
18500 }
ebd8d4e8 18501 // Check the words are valid
0515eeec 18502 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
18503 var isValid = mnemonic.check(properPhrase);
18504 if (!isValid) {
18505 return "Invalid mnemonic";
18506 }
18507 return false;
18508 }
18509
efe41586
IC
18510 function validateRootKey(rootKeyBase58) {
18511 try {
18512 bitcoin.HDNode.fromBase58(rootKeyBase58);
18513 }
18514 catch (e) {
18515 return "Invalid root key";
18516 }
18517 return "";
18518 }
18519
38523d36
IC
18520 function getDerivationPath() {
18521 if (DOM.bip44tab.hasClass("active")) {
18522 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
18523 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
18524 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
18525 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
18526 var path = "m/";
18527 path += purpose + "'/";
18528 path += coin + "'/";
18529 path += account + "'/";
18530 path += change;
18531 DOM.bip44path.val(path);
18532 var derivationPath = DOM.bip44path.val();
18533 console.log("Using derivation path from BIP44 tab: " + derivationPath);
18534 return derivationPath;
18535 }
18536 else if (DOM.bip32tab.hasClass("active")) {
18537 var derivationPath = DOM.bip32path.val();
18538 console.log("Using derivation path from BIP32 tab: " + derivationPath);
18539 return derivationPath;
18540 }
18541 else {
18542 console.log("Unknown derivation path");
18543 }
18544 }
18545
ebd8d4e8 18546 function findDerivationPathErrors(path) {
30c9e79d
IC
18547 // TODO is not perfect but is better than nothing
18548 // Inspired by
18549 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
18550 // and
18551 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
18552 var maxDepth = 255; // TODO verify this!!
18553 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
18554 if (path[0] != "m") {
18555 return "First character must be 'm'";
18556 }
18557 if (path.length > 1) {
18558 if (path[1] != "/") {
18559 return "Separator must be '/'";
18560 }
18561 var indexes = path.split("/");
18562 if (indexes.length > maxDepth) {
18563 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
18564 }
18565 for (var depth = 1; depth<indexes.length; depth++) {
18566 var index = indexes[depth];
18567 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
18568 if (invalidChars.length > 0) {
18569 return "Invalid characters " + invalidChars + " found at depth " + depth;
18570 }
18571 var indexValue = parseInt(index.replace("'", ""));
18572 if (isNaN(depth)) {
18573 return "Invalid number at depth " + depth;
18574 }
18575 if (indexValue > maxIndexValue) {
18576 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
18577 }
18578 }
18579 }
ebd8d4e8
IC
18580 return false;
18581 }
18582
18583 function displayBip32Info() {
18584 // Display the key
73161a92 18585 DOM.seed.val(seed);
ebd8d4e8
IC
18586 var rootKey = bip32RootKey.toBase58();
18587 DOM.rootKey.val(rootKey);
18588 var extendedPrivKey = bip32ExtendedKey.toBase58();
18589 DOM.extendedPrivKey.val(extendedPrivKey);
18590 var extendedPubKey = bip32ExtendedKey.toBase58(false);
18591 DOM.extendedPubKey.val(extendedPubKey);
18592 // Display the addresses and privkeys
18593 clearAddressesList();
18594 displayAddresses(0, 20);
18595 }
18596
18597 function displayAddresses(start, total) {
18598 for (var i=0; i<total; i++) {
80c4dd2a
IC
18599 var index = i + start;
18600 new TableRow(index);
18601 }
18602 }
18603
18604 function TableRow(index) {
18605
1975bfbc
IC
18606 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
18607
80c4dd2a
IC
18608 function init() {
18609 calculateValues();
18610 }
18611
18612 function calculateValues() {
18613 setTimeout(function() {
1975bfbc
IC
18614 var key = "";
18615 if (useHardenedAddresses) {
18616 key = bip32ExtendedKey.deriveHardened(index);
18617 }
18618 else {
18619 key = bip32ExtendedKey.derive(index);
18620 }
80c4dd2a
IC
18621 var address = key.getAddress().toString();
18622 var privkey = key.privKey.toWIF(network);
1b12b2f5 18623 var pubkey = key.pubKey.toHex();
38523d36 18624 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
18625 if (useHardenedAddresses) {
18626 indexText = indexText + "'";
18627 }
1b12b2f5 18628 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 18629 }, 50)
ebd8d4e8 18630 }
80c4dd2a
IC
18631
18632 init();
18633
ebd8d4e8
IC
18634 }
18635
18636 function showMore() {
18637 var start = DOM.addresses.children().length;
18638 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
18639 if (isNaN(rowsToAdd)) {
18640 rowsToAdd = 20;
18641 DOM.rowsToAdd.val("20");
18642 }
18643 if (rowsToAdd > 200) {
18644 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
18645 msg += "Do you want to continue?";
18646 if (!confirm(msg)) {
18647 return;
18648 }
18649 }
ebd8d4e8 18650 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
18651 }
18652
18653 function clearDisplay() {
18654 clearAddressesList();
18655 clearKey();
18656 hideValidationError();
18657 }
18658
18659 function clearAddressesList() {
18660 DOM.addresses.empty();
18661 }
18662
18663 function clearKey() {
18664 DOM.rootKey.val("");
18665 DOM.extendedPrivKey.val("");
18666 DOM.extendedPubKey.val("");
18667 }
18668
1b12b2f5 18669 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 18670 var row = $(addressRowTemplate.html());
80c4dd2a
IC
18671 // Elements
18672 var indexCell = row.find(".index span");
18673 var addressCell = row.find(".address span");
1b12b2f5 18674 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
18675 var privkeyCell = row.find(".privkey span");
18676 // Content
ae30fed8 18677 indexCell.text(indexText);
80c4dd2a 18678 addressCell.text(address);
1b12b2f5 18679 pubkeyCell.text(pubkey);
80c4dd2a
IC
18680 privkeyCell.text(privkey);
18681 // Visibility
18682 if (!showIndex) {
18683 indexCell.addClass("invisible");
18684 }
18685 if (!showAddress) {
18686 addressCell.addClass("invisible");
18687 }
1b12b2f5
IC
18688 if (!showPubKey) {
18689 pubkeyCell.addClass("invisible");
18690 }
80c4dd2a 18691 if (!showPrivKey) {
6d628db7 18692 privkeyCell.addClass("invisible");
80c4dd2a 18693 }
ebd8d4e8
IC
18694 DOM.addresses.append(row);
18695 }
18696
18697 function hasStrongRandom() {
18698 return 'crypto' in window && window['crypto'] !== null;
18699 }
18700
18701 function disableForms() {
18702 $("form").on("submit", function(e) {
18703 e.preventDefault();
18704 });
18705 }
18706
ebd8d4e8
IC
18707 function parseIntNoNaN(val, defaultVal) {
18708 var v = parseInt(val);
18709 if (isNaN(v)) {
18710 return defaultVal;
18711 }
18712 return v;
18713 }
18714
18715 function showPending() {
18716 DOM.feedback
18717 .text("Calculating...")
18718 .show();
18719 }
18720
563e401a 18721 function findNearestWord(word) {
0515eeec
IC
18722 var language = getLanguage();
18723 var words = WORDLISTS[language];
563e401a
IC
18724 var minDistance = 99;
18725 var closestWord = words[0];
18726 for (var i=0; i<words.length; i++) {
18727 var comparedTo = words[i];
18728 var distance = Levenshtein.get(word, comparedTo);
18729 if (distance < minDistance) {
18730 closestWord = comparedTo;
18731 minDistance = distance;
18732 }
18733 }
18734 return closestWord;
18735 }
18736
ebd8d4e8
IC
18737 function hidePending() {
18738 DOM.feedback
18739 .text("")
18740 .hide();
18741 }
18742
ab78acc6
IC
18743 function populateNetworkSelect() {
18744 for (var i=0; i<networks.length; i++) {
18745 var network = networks[i];
18746 var option = $("<option>");
18747 option.attr("value", i);
18748 option.text(network.name);
18749 DOM.phraseNetwork.append(option);
18750 }
18751 }
18752
0515eeec
IC
18753 function getLanguage() {
18754 var defaultLanguage = "english";
18755 // Try to get from existing phrase
18756 var language = getLanguageFromPhrase();
18757 // Try to get from url if not from phrase
18758 if (language.length == 0) {
18759 language = getLanguageFromUrl();
18760 }
18761 // Default to English if no other option
18762 if (language.length == 0) {
18763 language = defaultLanguage;
18764 }
18765 return language;
18766 }
18767
18768 function getLanguageFromPhrase(phrase) {
18769 // Check if how many words from existing phrase match a language.
18770 var language = "";
18771 if (!phrase) {
18772 phrase = DOM.phrase.val();
18773 }
18774 if (phrase.length > 0) {
18775 var words = phraseToWordArray(phrase);
18776 var languageMatches = {};
18777 for (l in WORDLISTS) {
18778 // Track how many words match in this language
18779 languageMatches[l] = 0;
18780 for (var i=0; i<words.length; i++) {
18781 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
18782 if (wordInLanguage) {
18783 languageMatches[l]++;
18784 }
18785 }
18786 // Find languages with most word matches.
18787 // This is made difficult due to commonalities between Chinese
18788 // simplified vs traditional.
18789 var mostMatches = 0;
18790 var mostMatchedLanguages = [];
18791 for (var l in languageMatches) {
18792 var numMatches = languageMatches[l];
18793 if (numMatches > mostMatches) {
18794 mostMatches = numMatches;
18795 mostMatchedLanguages = [l];
18796 }
18797 else if (numMatches == mostMatches) {
18798 mostMatchedLanguages.push(l);
18799 }
18800 }
18801 }
18802 if (mostMatchedLanguages.length > 0) {
18803 // Use first language and warn if multiple detected
18804 language = mostMatchedLanguages[0];
18805 if (mostMatchedLanguages.length > 1) {
18806 console.warn("Multiple possible languages");
18807 console.warn(mostMatchedLanguages);
18808 }
18809 }
18810 }
18811 return language;
18812 }
18813
18814 function getLanguageFromUrl() {
c6624d51
IC
18815 for (var language in WORDLISTS) {
18816 if (window.location.hash.indexOf(language) > -1) {
18817 return language;
18818 }
18819 }
18820 return "";
0515eeec
IC
18821 }
18822
18823 function setMnemonicLanguage() {
18824 var language = getLanguage();
18825 // Load the bip39 mnemonic generator for this language if required
18826 if (!(language in mnemonics)) {
18827 mnemonics[language] = new Mnemonic(language);
18828 }
18829 mnemonic = mnemonics[language];
18830 }
18831
18832 function convertPhraseToNewLanguage() {
18833 var oldLanguage = getLanguageFromPhrase();
18834 var newLanguage = getLanguageFromUrl();
18835 var oldPhrase = DOM.phrase.val();
18836 var oldWords = phraseToWordArray(oldPhrase);
18837 var newWords = [];
18838 for (var i=0; i<oldWords.length; i++) {
18839 var oldWord = oldWords[i];
18840 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
18841 var newWord = WORDLISTS[newLanguage][index];
18842 newWords.push(newWord);
18843 }
18844 newPhrase = wordArrayToPhrase(newWords);
18845 return newPhrase;
18846 }
18847
18848 // TODO look at jsbip39 - mnemonic.splitWords
18849 function phraseToWordArray(phrase) {
18850 var words = phrase.split(/\s/g);
18851 var noBlanks = [];
18852 for (var i=0; i<words.length; i++) {
18853 var word = words[i];
18854 if (word.length > 0) {
18855 noBlanks.push(word);
18856 }
18857 }
18858 return noBlanks;
18859 }
18860
18861 // TODO look at jsbip39 - mnemonic.joinWords
18862 function wordArrayToPhrase(words) {
18863 var phrase = words.join(" ");
18864 var language = getLanguageFromPhrase(phrase);
18865 if (language == "japanese") {
18866 phrase = words.join("\u3000");
18867 }
18868 return phrase;
18869 }
18870
c6624d51
IC
18871 function isUsingOwnEntropy() {
18872 return DOM.useEntropy.prop("checked");
18873 }
18874
18875 function setMnemonicFromEntropy() {
18abe53b
IC
18876 hideEntropyFeedback();
18877 // Get entropy value
c6624d51 18878 var entropyStr = DOM.entropy.val();
18abe53b 18879 // Work out minimum base for entropy
c6624d51 18880 var entropy = Entropy.fromString(entropyStr);
18abe53b 18881 if (entropy.binaryStr.length == 0) {
c6624d51
IC
18882 return;
18883 }
18884 // Show entropy details
18abe53b
IC
18885 showEntropyFeedback(entropy);
18886 // Use entropy hash if not using raw entropy
18887 var bits = entropy.binaryStr;
18888 var mnemonicLength = DOM.entropyMnemonicLength.val();
18889 if (mnemonicLength != "raw") {
18890 // Get bits by hashing entropy with SHA256
18891 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
18892 var hex = sjcl.codec.hex.fromBits(hash);
18893 bits = BigInteger.parse(hex, 16).toString(2);
18894 for (var i=0; i<256-bits.length; i++) {
18895 bits = "0" + bits;
18896 }
18897 // Truncate hash to suit number of words
18898 mnemonicLength = parseInt(mnemonicLength);
18899 var numberOfBits = 32 * mnemonicLength / 3;
18900 bits = bits.substring(0, numberOfBits);
c6624d51 18901 }
c6624d51 18902 // Discard trailing entropy
18abe53b
IC
18903 var bitsToUse = Math.floor(bits.length / 32) * 32;
18904 var binaryStr = bits.substring(0, bitsToUse);
c6624d51
IC
18905 // Convert entropy string to numeric array
18906 var entropyArr = [];
18abe53b
IC
18907 for (var i=0; i<binaryStr.length / 8; i++) {
18908 var byteAsBits = binaryStr.substring(i*8, i*8+8);
18909 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
18910 entropyArr.push(entropyByte)
18911 }
18912 // Convert entropy array to mnemonic
18913 var phrase = mnemonic.toMnemonic(entropyArr);
18914 // Set the mnemonic in the UI
18915 DOM.phrase.val(phrase);
18916 }
18917
18abe53b
IC
18918 function hideEntropyFeedback() {
18919 DOM.entropyFeedback.addClass("hidden");
18920 DOM.entropyFiltered.text("");
18921 DOM.entropyType.text("");
18922 DOM.entropyStrength.text("");
18923 DOM.entropyEventCount.text("");
18924 DOM.entropyBits.text("");
18925 DOM.entropyBitsPerEvent.text("");
c6624d51
IC
18926 }
18927
18abe53b
IC
18928 function showEntropyFeedback(entropy) {
18929 var strength = "extremely weak";
18930 if (entropy.binaryStr.length >= 64) {
18931 strength = "very weak";
18932 }
18933 if (entropy.binaryStr.length >= 96) {
18934 strength = "weak";
18935 }
18936 if (entropy.binaryStr.length >= 128) {
18937 strength = "strong";
18938 }
18939 if (entropy.binaryStr.length >= 160) {
18940 strength = "very strong";
18941 }
18942 if (entropy.binaryStr.length >= 192) {
18943 strength = "extremely strong";
18944 }
18945 // If time to crack is less than one day, and password is considered
18946 // strong or better based on the number of bits, rename strength to
18947 // 'easily cracked'.
18948 var z = zxcvbn(entropy.cleanStr);
18949 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
18950 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
18951 strength = "easily cracked";
18952 if (z.feedback.warning != "") {
18953 strength = strength + " - " + z.feedback.warning;
18954 };
18955 }
18956 var bitsStr = entropy.binaryStr.length;
18957 if (entropy.base.asInt != 2) {
18958 bitsStr += " (" + entropy.binaryStr + ")";
18959 }
18960 DOM.entropyFiltered.text(entropy.cleanStr);
18961 DOM.entropyType.text(entropy.base.str);
18962 DOM.entropyStrength.text(strength);
18963 DOM.entropyEventCount.text(entropy.base.ints.length);
18964 DOM.entropyBits.text(bitsStr);
18965 DOM.entropyBitsPerEvent.text(Math.log2(entropy.base.asInt).toFixed(2));
18966 DOM.entropyFeedback.removeClass("hidden");
c6624d51
IC
18967 }
18968
ab78acc6
IC
18969 var networks = [
18970 {
18971 name: "Bitcoin",
18972 onSelect: function() {
18973 network = bitcoin.networks.bitcoin;
18974 DOM.bip44coin.val(0);
ab78acc6
IC
18975 },
18976 },
18977 {
18978 name: "Bitcoin Testnet",
18979 onSelect: function() {
18980 network = bitcoin.networks.testnet;
18981 DOM.bip44coin.val(1);
ab78acc6
IC
18982 },
18983 },
18984 {
18985 name: "Litecoin",
18986 onSelect: function() {
18987 network = bitcoin.networks.litecoin;
18988 DOM.bip44coin.val(2);
18989 },
18990 },
18991 {
18992 name: "Dogecoin",
18993 onSelect: function() {
18994 network = bitcoin.networks.dogecoin;
18995 DOM.bip44coin.val(3);
18996 },
18997 },
d5dc92fd
IC
18998 {
18999 name: "ShadowCash",
19000 onSelect: function() {
19001 network = bitcoin.networks.shadow;
19002 DOM.bip44coin.val(35);
19003 },
19004 },
19005 {
19006 name: "ShadowCash Testnet",
19007 onSelect: function() {
19008 network = bitcoin.networks.shadowtn;
19009 DOM.bip44coin.val(1);
19010 },
19011 },
a3baa26e
IC
19012 {
19013 name: "Viacoin",
19014 onSelect: function() {
19015 network = bitcoin.networks.viacoin;
19016 DOM.bip44coin.val(14);
19017 },
19018 },
19019 {
19020 name: "Viacoin Testnet",
19021 onSelect: function() {
19022 network = bitcoin.networks.viacointestnet;
19023 DOM.bip44coin.val(1);
19024 },
19025 },
19026 {
19027 name: "Jumbucks",
19028 onSelect: function() {
19029 network = bitcoin.networks.jumbucks;
19030 DOM.bip44coin.val(26);
19031 },
19032 },
5c434a8a
CM
19033 {
19034 name: "CLAM",
19035 onSelect: function() {
19036 network = bitcoin.networks.clam;
19037 DOM.bip44coin.val(23);
19038 },
19039 },
5493efc3 19040 {
19041 name: "DASH",
19042 onSelect: function() {
19043 network = bitcoin.networks.dash;
19044 DOM.bip44coin.val(5);
19045 },
19046 },
07ac4350 19047 {
19048 name: "Namecoin",
19049 onSelect: function() {
19050 network = bitcoin.networks.namecoin;
19051 DOM.bip44coin.val(7);
19052 },
19053 },
19054 {
19055 name: "Peercoin",
19056 onSelect: function() {
19057 network = bitcoin.networks.peercoin;
19058 DOM.bip44coin.val(6);
19059 },
19060 },
ab78acc6
IC
19061 ]
19062
ebd8d4e8
IC
19063 init();
19064
19065})();
dc55c6b0 19066</script>
ebd8d4e8
IC
19067 </body>
19068</html>