From 0bb7bb9d16d6403f82b6a5fc40e8cab83c8fab53 Mon Sep 17 00:00:00 2001 From: lucha <lucha@paranoici.org> Date: Sat, 21 Sep 2013 16:44:35 +0200 Subject: [PATCH] wp2gpgmail plugin --- .../wp2pgpmail/classes/formulaire.inc.php | 173 + .../plugins/wp2pgpmail/classes/index.php | 0 wp-content/plugins/wp2pgpmail/css/sprite.png | Bin 0 -> 11902 bytes .../wp2pgpmail/css/wp2pgpmail-admin.css | 1 + wp-content/plugins/wp2pgpmail/i18n/index.php | 0 .../wp2pgpmail/i18n/wp2pgpmail-de_DE.mo | Bin 0 -> 3923 bytes .../wp2pgpmail/i18n/wp2pgpmail-de_DE.po | 232 + .../wp2pgpmail/i18n/wp2pgpmail-es_ES.mo | Bin 0 -> 2687 bytes .../wp2pgpmail/i18n/wp2pgpmail-es_ES.po | 132 + .../wp2pgpmail/i18n/wp2pgpmail-fr_FR.mo | Bin 0 -> 4467 bytes .../wp2pgpmail/i18n/wp2pgpmail-fr_FR.po | 186 + .../plugins/wp2pgpmail/i18n/wp2pgpmail.pot | 186 + .../plugins/wp2pgpmail/i18n/wp2pgpmail_et.mo | Bin 0 -> 2682 bytes .../plugins/wp2pgpmail/i18n/wp2pgpmail_et.po | 137 + .../plugins/wp2pgpmail/images/big-icon.png | Bin 0 -> 490 bytes wp-content/plugins/wp2pgpmail/images/icon.png | Bin 0 -> 345 bytes .../plugins/wp2pgpmail/images/index.php | 0 .../plugins/wp2pgpmail/images/reload.png | Bin 0 -> 348 bytes wp-content/plugins/wp2pgpmail/index.php | 0 wp-content/plugins/wp2pgpmail/js/PGencode.js | 280 + wp-content/plugins/wp2pgpmail/js/PGpubkey.js | 185 + wp-content/plugins/wp2pgpmail/js/aes-enc.js | 480 + wp-content/plugins/wp2pgpmail/js/base64.js | 83 + wp-content/plugins/wp2pgpmail/js/index.php | 0 wp-content/plugins/wp2pgpmail/js/mouse.js | 144 + wp-content/plugins/wp2pgpmail/js/rsa.js | 394 + wp-content/plugins/wp2pgpmail/js/sha1.js | 202 + .../plugins/wp2pgpmail/phpcaptcha/AHGBold.ttf | Bin 0 -> 144556 bytes .../plugins/wp2pgpmail/phpcaptcha/LICENSE.txt | 458 + .../wp2pgpmail/phpcaptcha/README.FONT.txt | 12 + .../plugins/wp2pgpmail/phpcaptcha/README.txt | 88 + .../wp2pgpmail/phpcaptcha/backgrounds/bg3.jpg | Bin 0 -> 15854 bytes .../wp2pgpmail/phpcaptcha/backgrounds/bg4.jpg | Bin 0 -> 16438 bytes .../wp2pgpmail/phpcaptcha/backgrounds/bg5.jpg | Bin 0 -> 48746 bytes .../wp2pgpmail/phpcaptcha/backgrounds/bg6.png | Bin 0 -> 42880 bytes .../phpcaptcha/backgrounds/index.php | 0 .../wp2pgpmail/phpcaptcha/database/.htaccess | 1 + .../wp2pgpmail/phpcaptcha/database/index.html | 1 + .../phpcaptcha/database/securimage.sqlite | Bin 0 -> 30720 bytes .../phpcaptcha/gdfonts/automatic.gdf | Bin 0 -> 61196 bytes .../wp2pgpmail/phpcaptcha/gdfonts/index.php | 0 .../phpcaptcha/images/audio_icon.gif | Bin 0 -> 621 bytes .../wp2pgpmail/phpcaptcha/images/index.php | 0 .../wp2pgpmail/phpcaptcha/images/refresh.gif | Bin 0 -> 865 bytes .../plugins/wp2pgpmail/phpcaptcha/index.php | 0 .../wp2pgpmail/phpcaptcha/securimage.php | 1584 ++ .../wp2pgpmail/phpcaptcha/securimage_play.php | 43 + .../wp2pgpmail/phpcaptcha/securimage_play.swf | Bin 0 -> 3102 bytes .../wp2pgpmail/phpcaptcha/securimage_show.php | 62 + .../wp2pgpmail/phpcaptcha/words/index.php | 0 .../wp2pgpmail/phpcaptcha/words/words.txt | 15621 ++++++++++++++++ wp-content/plugins/wp2pgpmail/readme.txt | 120 + wp-content/plugins/wp2pgpmail/wp2pgpmail.php | 216 + 53 files changed, 21021 insertions(+) create mode 100644 wp-content/plugins/wp2pgpmail/classes/formulaire.inc.php create mode 100644 wp-content/plugins/wp2pgpmail/classes/index.php create mode 100644 wp-content/plugins/wp2pgpmail/css/sprite.png create mode 100644 wp-content/plugins/wp2pgpmail/css/wp2pgpmail-admin.css create mode 100644 wp-content/plugins/wp2pgpmail/i18n/index.php create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.mo create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.po create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.mo create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.po create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.mo create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.po create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail.pot create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.mo create mode 100644 wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.po create mode 100644 wp-content/plugins/wp2pgpmail/images/big-icon.png create mode 100644 wp-content/plugins/wp2pgpmail/images/icon.png create mode 100644 wp-content/plugins/wp2pgpmail/images/index.php create mode 100644 wp-content/plugins/wp2pgpmail/images/reload.png create mode 100644 wp-content/plugins/wp2pgpmail/index.php create mode 100644 wp-content/plugins/wp2pgpmail/js/PGencode.js create mode 100644 wp-content/plugins/wp2pgpmail/js/PGpubkey.js create mode 100644 wp-content/plugins/wp2pgpmail/js/aes-enc.js create mode 100644 wp-content/plugins/wp2pgpmail/js/base64.js create mode 100644 wp-content/plugins/wp2pgpmail/js/index.php create mode 100644 wp-content/plugins/wp2pgpmail/js/mouse.js create mode 100644 wp-content/plugins/wp2pgpmail/js/rsa.js create mode 100644 wp-content/plugins/wp2pgpmail/js/sha1.js create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/AHGBold.ttf create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/LICENSE.txt create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/README.FONT.txt create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/README.txt create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg3.jpg create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg4.jpg create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg5.jpg create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg6.png create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/index.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/database/.htaccess create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/database/index.html create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/database/securimage.sqlite create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/gdfonts/automatic.gdf create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/gdfonts/index.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/images/audio_icon.gif create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/images/index.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/images/refresh.gif create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/index.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/securimage.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.swf create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_show.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/words/index.php create mode 100644 wp-content/plugins/wp2pgpmail/phpcaptcha/words/words.txt create mode 100644 wp-content/plugins/wp2pgpmail/readme.txt create mode 100644 wp-content/plugins/wp2pgpmail/wp2pgpmail.php diff --git a/wp-content/plugins/wp2pgpmail/classes/formulaire.inc.php b/wp-content/plugins/wp2pgpmail/classes/formulaire.inc.php new file mode 100644 index 000000000..8ab8f34ee --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/classes/formulaire.inc.php @@ -0,0 +1,173 @@ +<?php + +class Formulaire { + function __construct() { + $siteurl = site_url(); + $wp2pgpmail_pgpkey_keyid = get_option('wp2pgpmail_pgpkey_keyid'); + $wp2pgpmail_pgpkey_pkey = get_option('wp2pgpmail_pgpkey_pkey'); + $wp2pgpmail_pgpkey_vers = get_option('wp2pgpmail_pgpkey_vers'); + $wp2pgpmail_pgpkey_pktype = get_option('wp2pgpmail_pgpkey_pktype'); + $wp2pgpmail_pgpkey = get_option('wp2pgpmail_pgpkey'); + + $mail_champ_nom = __('Name','wp2pgpmail'); + $mail_champ_email = __('E-mail Address','wp2pgpmail'); + $mail_champ_message = __('Message','wp2pgpmail'); + $mail_champ_adresseIP = __('IP Address','wp2pgpmail'); + $mail_footer = __('This message has been sent from your website','wp2pgpmail') .' '. get_permalink() .' '. __('and has been encrypted using wp2pgpmail.','wp2pgpmail'); + + $message_champ_incomplet = __('A field has not been completed. Thank you to complete in order to validate the form.','wp2pgpmail'); + $message_email_incorrect = __('The email address you typed is incorrect.','wp2pgpmail'); + $message_champ_crypte = __('encrypted data','wp2pgpmail'); + + $formulaire_adresse_page = get_permalink(); + $formulaire_champ_nom = __('Your Name','wp2pgpmail'); + $formulaire_champ_email = __('Your E-mail Address','wp2pgpmail'); + $fomulaire_champ_message = __('Your Message','wp2pgpmail'); + $formulaire_bouton_encrypter = __('Encrypt Message','wp2pgpmail'); + $formulaire_bouton_reset = __('Reset','wp2pgpmail'); + $formulaire_bouton_recharger_image = __('Reload image','wp2pgpmail'); + $formulaire_champ_captcha = __('Type the word:','wp2pgpmail'); + $formulaire_bouton_envoyer = __('Send','wp2pgpmail'); + + $adresseIP = $_SERVER['REMOTE_ADDR']; + + $this->Output = <<<EOF +<!-- wp2pgpmail - Begin --> +<script src="$siteurl/wp-content/plugins/wp2pgpmail/js/rsa.js" type="text/javascript"></script> +<script src="$siteurl/wp-content/plugins/wp2pgpmail/js/aes-enc.js" type="text/javascript"></script> +<script src="$siteurl/wp-content/plugins/wp2pgpmail/js/base64.js" type="text/javascript"></script> +<script src="$siteurl/wp-content/plugins/wp2pgpmail/js/PGpubkey.js" type="text/javascript"></script> +<script src="$siteurl/wp-content/plugins/wp2pgpmail/js/mouse.js" type="text/javascript"></script> +<script src="$siteurl/wp-content/plugins/wp2pgpmail/js/PGencode.js" type="text/javascript"></script> +<script type="text/javascript"> + +var keytyp = 1; +var keyid = '$wp2pgpmail_pgpkey_keyid'; +var pubkey = '$wp2pgpmail_pgpkey_pkey'; + +function getkey() { + var pu=new getPublicKey(document.s.pubkey.value); + if(pu.vers == -1) return; + + document.s.vers.value=pu.vers; + document.s.user.value=pu.user; + document.s.keyid.value=pu.keyid; + + pubkey = pu.pkey.replace(/\\\\n/g,''); + document.s.pkey.value=pubkey; + document.s.pktype.value=pu.type; +} + + +function encrypt() { + + if ( document.t.message_from_name.value == "" || document.t.message_from_mail.value == "" || document.t.message_body.value == "" ) { + alert("$message_champ_incomplet"); + return false; + } + + var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i'); + if(!reg.test(document.t.message_from_mail.value)) { + alert("$message_email_incorrect"); + return false; + } + + document.t.message_from_name.readOnly=true; + document.t.message_from_mail.readOnly=true; + document.t.message_body.readOnly=true; + document.t.message.value = "$mail_champ_nom : " + document.t.message_from_name.value + "\\n" + "$mail_champ_email : " + document.t.message_from_mail.value + "\\n" + "$mail_champ_message : " + document.t.message_body.value + "\\n\\n"; + document.t.message.value += "$mail_champ_adresseIP : " + "$adresseIP" + "\\n\\n"; + document.t.message.value += "$mail_footer" + "\\n\\n" + "http://wp2pgpmail.com/"; + document.t.bouton_envoi.disabled=false; + document.t.encrypter.disabled=true; + + keyid="$wp2pgpmail_pgpkey_keyid"; + if(document.s.keyid.value.length) keyid=document.s.keyid.value; + if(keyid.length != 16) { + alert('Invalid Key Id'); + return; + } + + keytyp = 1; + if(document.s.pktype.value == 'ELGAMAL') keytyp = 1; + if(document.s.pktype.value == 'RSA') keytyp = 0; + if(keytyp == -1) { + alert('Unsupported Key Type'); + return; + } + + var startTime=new Date(); + + var text=document.t.text.value+'\\r\\n'; + document.t.text.value=doEncrypt(keyid, keytyp, pubkey, text); + + var endTime=new Date(); + document.t.howLong.value=(endTime.getTime()-startTime.getTime())/1000.0; + + document.t.message_from_name.value="-- "+"$message_champ_crypte"+" --"; + document.t.message_from_mail.value="-- "+"$message_champ_crypte"+" --"; + document.t.message_body.value="-- "+"$message_champ_crypte"+" --"; + + return true; +} + + +function recommencer() { + document.t.message_from_name.readOnly=false; + document.t.message_from_mail.readOnly=false; + document.t.message_body.readOnly=false; + document.t.bouton_envoi.disabled=true; + document.t.encrypter.disabled=false; +} +</script> +<form name="t" action="$formulaire_adresse_page" method="post"> + <table style="border-width: 0px;"> + <tr> + <td style="border-width: 0px;">$formulaire_champ_nom :</td> + <td style="border-width: 0px;"><input type="text" name="message_from_name" id="message_from_name" value="" size="34" /></td> + </tr> + <tr> + <td style="border-width: 0px;">$formulaire_champ_email :</td> + <td style="border-width: 0px;"><input type="text" name="message_from_mail" id="message_from_mail" value="" size="34" /></td> + </tr> + </table> + $fomulaire_champ_message :<br /> + <textarea name="message_body" id="message_body" value="" rows="15" cols="50"></textarea> + <br /> + <input type="hidden" name="text" id="message" /> + <input type="hidden" name="howLong" /> + <input type="hidden" name="submitted" id="submitted" value="true" /> + <br /> + <table style="border-width: 0px;"> + <tr> + <td style="border-width: 0px;"><input onclick="encrypt();" type="button" value="$formulaire_bouton_encrypter" id="encrypter"></td> + <td style="border-width: 0px;"><input onclick="recommencer();" type="reset" value="$formulaire_bouton_reset"></td> + </tr> + <tr> + <td colspan="2" style="border-width: 0px;"> + <img src="$siteurl/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_show.php" id="captcha" alt="" /><a href="#" onclick="document.getElementById('captcha').src = '$siteurl/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_show.php?' + Math.random(); return false"><img src="$siteurl/wp-content/plugins/wp2pgpmail/images/reload.png" alt="$formulaire_bouton_recharger_image" border="0" /></a><br /> + $formulaire_champ_captcha<br /> + <input type="text" size="10" maxlength="6" name="code" /><br /> + <input type="submit" name="submit" id="bouton_envoi" value="$formulaire_bouton_envoyer" /></td> + </tr> + + </table> + + +</form> + +<script type="text/javascript"> +document.t.bouton_envoi.disabled=true; +</script> +<form name="s"> + <input type="hidden" name="pubkey" value="$wp2pgpmail_pgpkey" /> + <input type="hidden" name="vers" value="$wp2pgpmail_pgpkey_vers" /> + <input type="hidden" name="keyid" value="$wp2pgpmail_pgpkey_keyid" /> + <input type="hidden" name="pktype" value="$wp2pgpmail_pgpkey_pktype" /> + <input type="hidden" name="pkey" value="$wp2pgpmail_pgpkey_pkey" /> +</form> +<!-- wp2pgpmail - End --> +EOF; + return $this->Output; + } +} \ No newline at end of file diff --git a/wp-content/plugins/wp2pgpmail/classes/index.php b/wp-content/plugins/wp2pgpmail/classes/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/css/sprite.png b/wp-content/plugins/wp2pgpmail/css/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..afd5a915e6121e687e7511c511b309beecfd4293 GIT binary patch literal 11902 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/css/wp2pgpmail-admin.css b/wp-content/plugins/wp2pgpmail/css/wp2pgpmail-admin.css new file mode 100644 index 000000000..4f17d1ebb --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/css/wp2pgpmail-admin.css @@ -0,0 +1 @@ +label.error{color:red;display:block}#wp2pgpmail-update input.error,#wp2pgpmail-update textarea.error,#wp2pgpmail-update select.error{border:1px solid red}.menu-item-handle.fieldset,#form-element-fieldset{background-image:-moz-linear-gradient(top,#e3e3e3 0,#ccc 100%);background-image:-o-linear-gradient(top,#e3e3e3 0,#ccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e3e3e3),color-stop(1,#ccc));background-image:linear-gradient(top,#e3e3e3 0,#ccc 100%);box-shadow:0 1px 0 #e3e3e3 inset}.sender-labels{width:80px}.is-field-required{color:#bc1212;vertical-align:middle}.wp2pgpmail-inline-edit{width:100%}.wp2pgpmail-inline-edit-col{padding:0 .5em}.wp2pgpmail-inline-edit label{display:block;margin:.2em 0}.wp2pgpmail-inline-edit .title{display:block;float:left;width:5em;font-style:italic}.wp2pgpmail-inline-edit .input-text-wrap{display:block;margin-left:5em}.wp2pgpmail-inline-edit .input-text-wrap input[type="text"]{width:100%;border:#DDD solid 1px;border-radius:3px}.subsubsub{float:none}.nav-tabs-arrow-left{display:none}#form-items input{width:104px;float:left;margin:0 5px 10px 0}#form-element-text{background:url(sprite.png) 0 -89px no-repeat transparent}#form-element-textarea{background:url(sprite.png) 0 -173px no-repeat transparent}#form-element-checkbox{background:url(sprite.png) 0 -259px no-repeat transparent}#form-element-radio{background:url(sprite.png) 0 -51px no-repeat transparent}#form-element-select{background:url(sprite.png) 0 -7px no-repeat transparent}#form-element-address{background:url(sprite.png) 0 -129px no-repeat transparent}#form-element-datepicker{background:url(sprite.png) 0 -215px no-repeat transparent}#form-element-email{background:url(sprite.png) 0 -304px no-repeat transparent}#form-element-url{background:url(sprite.png) 0 -356px no-repeat transparent}#form-element-currency{background:url(sprite.png) 0 -405px no-repeat transparent}#form-element-digits{background:url(sprite.png) 0 -452px no-repeat transparent}#form-element-time{background:url(sprite.png) 0 -489px no-repeat transparent}#form-element-phone{background:url(sprite.png) 0 -529px no-repeat transparent}#form-element-html{background:url(sprite.png) 0 -559px no-repeat transparent}#form-element-file{background:url(sprite.png) 0 -587px no-repeat transparent}#form-element-instructions{background:url(sprite.png) 0 -621px no-repeat transparent}#form-element-section{background:url(sprite.png) 0 -809px no-repeat transparent}#form-details-nav{font-size:1.0em;font-weight:bold;padding-top:10px}#form-details-nav a{padding:5px 10px;text-decoration:none}#form-details-nav a.current{background-color:#777;background-image:-ms-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080);color:white;border-radius:5px;height:40px;text-shadow:0 -1px 0 #333;border-color:#dfdfdf}.form-details,#form-success-message-text,#form-success-message-page,#form-success-message-redirect{display:none}.form-details-current,.active{display:block}#confirmation-message textarea,#notification textarea{font-family:Consolas,Monaco,monospace;width:75%;height:10em;margin-top:10px}#form-success-message-page,#form-success-message-redirect{margin-top:10px}.post-body-plain ol li{list-style:decimal}#promote-wp2pgpmail li{padding-left:20px}#promote-wp2pgpmail #twitter{background:url(sprite.png) -10px -746px no-repeat transparent}#promote-wp2pgpmail #star{background:url(sprite.png) -10px -710px no-repeat transparent}#promote-wp2pgpmail #paypal{background:url(sprite.png) -10px -777px no-repeat transparent}.menu .ui-nestedSortable-error{background-color:#fbe3e4;border-color:red;color:#8a1f11}ul#menu-to-edit ul{margin:0 0 0 25px;padding:0;list-style-type:none;width:98%}.wp2pgpmail-details{padding:0 10px;border:1px solid #ccc;margin-bottom:10px;border-radius:3px;width:95%}.wp2pgpmail-details.section{background-color:#efefef;width:97.55%}.wp2pgpmail-details .postbox{min-height:60px}#poststuff .wp2pgpmail-details h2{margin-top:0}#poststuff h3.section-heading{padding-left:0}.wp2pgpmail-pro-call-to-action a{text-decoration:none}.wp2pgpmail-pro-call-to-action:hover{border-color:#dbf1ff}.wp2pgpmail-pro-call-to-action{background-color:#3d93cd;border:5px solid #b0d2e8;border-radius:7px;box-shadow:inset 1px 1px 5px #398cc3,inset -1px -25px 5px #398cc3,0px 0 0 #fff;height:37px;margin:0 auto;padding:5px 30px 10px 30px;text-shadow:0 1px #2b658c;width:115px;line-height:22px}.wp2pgpmail-pro-call-to-action .cta-sign-up{color:#fff;display:block;font-size:24px;font-weight:bold;text-align:center;text-decoration:none;text-shadow:1px 1px 1px #2b658c;width:100%;line-height:22px}.wp2pgpmail-pro-call-to-action .cta-price{color:#ace7ff;display:block;font-size:12px;font-weight:normal;line-height:20px;text-align:center;text-decoration:none;width:100%;line-height:20px}.wp2pgpmail-pro-upgrade{width:350px;float:left;padding:10px;background-color:#d3e7ee;border:1px solid #21759b;border-radius:5px}.wp2pgpmail-pro-upgrade ul{list-style:outside;margin-left:10px}.post-body-plain{width:430px;float:left}#menu-instructions.post-body-plain{width:auto;float:none}.wp2pgpmail-button{position:relative;overflow:visible;display:inline-block;border:1px solid #d4d4d4;margin:0;padding:.5em 2.5em .5em 1em;text-decoration:none;text-shadow:1px 1px 0 #fff;font:12px/normal sans-serif;color:#333;white-space:nowrap;cursor:pointer;outline:0;background-color:#ececec;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f4f4f4),to(#ececec));background-image:-moz-linear-gradient(#f4f4f4,#ececec);background-image:-o-linear-gradient(#f4f4f4,#ececec);background-image:linear-gradient(#f4f4f4,#ececec);-webkit-background-clip:padding;-moz-background-clip:padding;-o-background-clip:padding-box;-webkit-border-radius:.2em;-moz-border-radius:.2em;border-radius:.2em;zoom:1;*display:inline}.wp2pgpmail-button:hover,.wp2pgpmail-button:active,.wp2pgpmail-button.current{border-color:#3072b3;border-bottom-color:#2a65a0;text-decoration:none;text-shadow:-1px -1px 0 rgba(0,0,0,0.3);color:#fff;background-color:#3072b3;background-image:-webkit-gradient(linear,0 0,0 100%,from(#599bdc),to(#3072b3));background-image:-moz-linear-gradient(#599bdc,#3072b3);background-image:-o-linear-gradient(#599bdc,#3072b3);background-image:linear-gradient(#599bdc,#3072b3)}.wp2pgpmail-button.current{font-weight:bold}.wp2pgpmail-button::-moz-focus-inner{padding:0;border:0}.wp2pgpmail-button.wp2pgpmail-delete{color:#900}.wp2pgpmail-button.wp2pgpmail-delete:hover,.wp2pgpmail-button.wp2pgpmail-delete:focus,.wp2pgpmail-button.wp2pgpmail-delete:active{border-color:#b53f3a;border-bottom-color:#a0302a;color:#fff;background-color:#dc5f59;background-image:-webkit-gradient(linear,0 0,0 100%,from(#dc5f59),to(#b33630));background-image:-moz-linear-gradient(#dc5f59,#b33630);background-image:-o-linear-gradient(#dc5f59,#b33630);background-image:linear-gradient(#dc5f59,#b33630)}.wp2pgpmail-button.wp2pgpmail-delete:active,.wp2pgpmail-button.wp2pgpmail-delete.active{border-color:#a0302a;border-bottom-color:#bf4843;background-color:#b33630;background-image:-webkit-gradient(linear,0 0,0 100%,from(#b33630),to(#dc5f59));background-image:-moz-linear-gradient(#b33630,#dc5f59);background-image:-o-linear-gradient(#b33630,#dc5f59);background-image:linear-gradient(#b33630,#dc5f59)}.wp2pgpmail-button.wp2pgpmail-duplicate:hover,.wp2pgpmail-button.wp2pgpmail-duplicate:focus,.wp2pgpmail-button.wp2pgpmail-duplicate:active{border-color:#8gfc400;border-bottom-color:#8gfc400;color:#fff;background-color:#82ba0b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#7cbc0a),to(#82ba0b));background-image:-moz-linear-gradient(#7cbc0a,#82ba0b);background-image:-o-linear-gradient(#7cbc0a,#82ba0b);background-image:linear-gradient(#7cbc0a,#82ba0b)}.button-group{display:inline-block;list-style:none;margin-top:10px}.button-group .wp2pgpmail-button{float:left;margin-left:-1px}.wp2pgpmail-button.wp2pgpmail-first{border-bottom-right-radius:0;border-top-right-radius:0}.wp2pgpmail-button.wp2pgpmail-last{border-bottom-left-radius:0;border-top-left-radius:0}.button-icon{width:18px;height:24px;position:absolute;top:0;right:0}.button-icon.arrow{background:url("arrows.png") no-repeat scroll 0 -118px transparent}.current .button-icon.arrow{background:url("arrows.png") no-repeat scroll 0 -30px transparent}.button-icon.plus{background:url("sprite.png") no-repeat scroll -12px -644px transparent}.button-icon.delete{background:url("sprite.png") no-repeat scroll -12px -671px transparent}#form-settings{width:460px;display:none}#form-settings.current{display:block}.form-details{padding:20px;background:rgba(255,255,255,0.5);box-shadow:0 0 0 1px rgba(155,155,155,0.3)}.form-details.on{display:block}.settings-links{background:none repeat scroll 0 0 #f5f5f5;box-shadow:0 0 0 1px rgba(155,155,155,0.3),1px 0 0 0 rgba(255,255,255,0.9) inset,0px 2px 2px rgba(0,0,0,0.1);color:#777;cursor:pointer;display:block;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:bold;height:25px;line-height:28px;padding:5px 15px;position:relative;text-shadow:1px 1px 1px rgba(255,255,255,0.8);text-decoration:none;text-transform:uppercase;z-index:20}.settings-links .arrow{position:absolute;width:24px;height:24px;right:13px;top:7px;background:url("arrows.png") no-repeat scroll 8px -278px transparent}.settings-links.on .arrow{background:url("arrows.png") no-repeat scroll 8px -252px transparent}.settings-links:hover,.settings-links.on{background:#c6e1ec;color:#3d7489;text-shadow:0 1px 1px rgba(255,255,255,0.6);box-shadow:0 0 0 1px rgba(155,155,155,0.3),0px 2px 2px rgba(0,0,0,0.1)}.wp2pgpmail-tooltip{position:relative;float:right;cursor:pointer;width:16px;height:16px;margin-right:2px}.tooltip{text-indent:0;z-index:200;width:175px;padding:5px 20px;border-radius:5px;border:2px solid white;box-shadow:0 0 7px black;background:rgba(0,0,0,0.6);position:absolute;top:-40px;display:none;font-style:normal;color:white}.tooltip h3{font-weight:bold;font-size:16px;padding-bottom:6px;margin:5px 0;border-bottom:1px solid white}.tooltip p{font-size:12px;margin-top:10px} \ No newline at end of file diff --git a/wp-content/plugins/wp2pgpmail/i18n/index.php b/wp-content/plugins/wp2pgpmail/i18n/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.mo b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.mo new file mode 100644 index 0000000000000000000000000000000000000000..9b3857749bac83a172eceb5f8c9f2a02b5b8c94e GIT binary patch literal 3923 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 RDvCU`dewzgue#9c6#&(bzsLXp literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.po b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.po new file mode 100644 index 000000000..f97cf4c2c --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-de_DE.po @@ -0,0 +1,232 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp2pgpmail v1.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-02 17:26+0100\n" +"PO-Revision-Date: 2013-07-23 18:52:31+0000\n" +"Last-Translator: \n" +"Language-Team: Jeriel BELAICH <jeriel@belai.ch>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: CSL v1.x\n" +"X-Poedit-Language: English\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Bookmarks: \n" +"X-Poedit-SearchPath-0: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk\n" +"X-Textdomain-Support: yes" + +#: wp2pgpmail.php:47 +#@ wp2pgpmail +msgid "Form successfully submitted! The encrypted message has been sent." +msgstr "Erfolgreiche Übertragung! Die verschlüsselte Nachricht wurde gesendet." + +#: wp2pgpmail.php:43 +#@ wp2pgpmail +msgid "Encrypted PGP Message" +msgstr "PGP-verschlüsselte Nachricht" + +#: wp2pgpmail.php:49 +#@ wp2pgpmail +msgid "The image verification code you entered is incorrect. No message has been sent." +msgstr "Der Bildcode wurde falsch eingegeben. Die Nachricht wurde nicht gesendet." + +#: wp2pgpmail.php:49 +#@ wp2pgpmail +msgid "Please try again." +msgstr "Bitte versuchen Sie es erneut." + +#: classes/formulaire.inc.php:18 +#@ wp2pgpmail +msgid "A field has not been completed. Thank you to complete in order to validate the form." +msgstr "Ein Formularfeld wurde nicht ausgefüllt. Bitte vervollständigen Sie die Angaben." + +#: classes/formulaire.inc.php:19 +#@ wp2pgpmail +msgid "The email address you typed is incorrect." +msgstr "Die eingegebene E-Mail-Adresse ist nicht korrekt." + +#: classes/formulaire.inc.php:12 +#@ wp2pgpmail +msgid "Name" +msgstr "Name" + +#: classes/formulaire.inc.php:13 +#@ wp2pgpmail +msgid "E-mail Address" +msgstr "E-Mail-Adresse" + +#: classes/formulaire.inc.php:14 +#@ wp2pgpmail +msgid "Message" +msgstr "Mitteilung" + +#: classes/formulaire.inc.php:15 +#@ wp2pgpmail +msgid "IP Address" +msgstr "IP-Adresse" + +#: classes/formulaire.inc.php:16 +#@ wp2pgpmail +msgid "This message has been sent from your website" +msgstr "Diese Nachricht wurde von Ihrer Website gesendet." + +#: classes/formulaire.inc.php:16 +#@ wp2pgpmail +msgid "and has been encrypted using wp2pgpmail." +msgstr "und wurde mit wp2pgpmail verschlüsselt." + +#: classes/formulaire.inc.php:20 +#@ wp2pgpmail +msgid "encrypted data" +msgstr "verschlüsselte Daten" + +#: classes/formulaire.inc.php:23 +#@ wp2pgpmail +msgid "Your Name" +msgstr "Ihr Name" + +#: classes/formulaire.inc.php:24 +#@ wp2pgpmail +msgid "Your E-mail Address" +msgstr "Ihre E-Mail-Adresse" + +#: classes/formulaire.inc.php:25 +#@ wp2pgpmail +msgid "Your Message" +msgstr "Ihre Mitteilung" + +#: classes/formulaire.inc.php:26 +#@ wp2pgpmail +msgid "Encrypt Message" +msgstr "Mitteilung verschlüsseln" + +#: classes/formulaire.inc.php:27 +#@ wp2pgpmail +msgid "Reset" +msgstr "Zurücksetzen" + +#: classes/formulaire.inc.php:28 +#@ wp2pgpmail +msgid "Reload image" +msgstr "Bild neu laden" + +#: classes/formulaire.inc.php:29 +#@ wp2pgpmail +msgid "Type the word:" +msgstr "Geben Sie die Zeichen ein:" + +#: classes/formulaire.inc.php:30 +#@ wp2pgpmail +msgid "Send" +msgstr "Senden" + +#: wp2pgpmail.php:61 +#@ wp2pgpmail +msgid "No valid public PGP key has been entered yet." +msgstr "Es wurde kein gültiger öffentlicher PGP-Schlüssel hinterlegt." + +#: wp2pgpmail.php:63 +#@ wp2pgpmail +msgid "Your PGP public key has been entered correctly." +msgstr "Ihr öffentlicher PGP-Schlüssel wurde korrekt hinterlegt." + +#: wp2pgpmail.php:145 +#@ wp2pgpmail +msgid "Version:" +msgstr "Version :" + +#: wp2pgpmail.php:149 +#@ wp2pgpmail +msgid "User ID:" +msgstr "Nutzer-ID:" + +#: wp2pgpmail.php:153 +#@ wp2pgpmail +msgid "Key ID:" +msgstr "Schlüssel-ID:" + +#: wp2pgpmail.php:157 +#@ wp2pgpmail +msgid "Public Key type and values:" +msgstr "Art und Gültigkeit des Schlüssels:" + +#: wp2pgpmail.php:178 +#@ default +msgid "Save Changes" +msgstr "Änderungen speichern." + +#: wp2pgpmail.php:113 +#@ wp2pgpmail +msgid "Getting Started" +msgstr "Zu Beginn:" + +#: wp2pgpmail.php:115 +#@ wp2pgpmail +msgid "Enter your PGP public key in the field below on this page." +msgstr "Geben Sie Ihren öffentlichen PGP-Schlüssel in das Feld unten auf dieser Seite ein." + +#: wp2pgpmail.php:116 +#@ wp2pgpmail +msgid "Add the shortcode <b>[wp2pgpmail]</b> to any Post or Page to display the contact form." +msgstr "Fügen Sie den Shortcode <b>[wp2pgpmail]</b> in beliebige Posts oder Seiten ein, um das Kontaktformular anzuzeigen." + +#: wp2pgpmail.php:119 +#@ wp2pgpmail +msgid "Help Promote wp2pgpmail" +msgstr "Helfen Sie dabei, wp2pgpmail bekannt zu machen." + +#: wp2pgpmail.php:121 +#@ wp2pgpmail +msgid "Get wp2pgpmail Pro version with Additional Fields, Unlimited Forms, Nested Drag n' Drop and Advanced Email Configuration!" +msgstr "Holen Sie sich wp2pgpmail Pro mit zusätzlichen Feldern, einer unbegrenzten Zahl an Formularen, eigebundenem Drag and Drop und erweiterter E-Mail-Konfiguration!" + +#: wp2pgpmail.php:122 +#@ wp2pgpmail +msgid "Follow us on Twitter" +msgstr "Folgen Sie uns auf Twitter!" + +#: wp2pgpmail.php:123 +#@ wp2pgpmail +msgid "Rate wp2pgpmail on WordPress.org" +msgstr "Bewerten Sie wp2pgpmail auf Wordpress.org." + +#: wp2pgpmail.php:129 +#@ wp2pgpmail +msgid "PGP Key Setup" +msgstr "Einrichtung des PGP-Schlüssels" + +#: wp2pgpmail.php:130 +#@ wp2pgpmail +msgid "Paste your PGP public key in the first field below. By validating, your key will be recognized and the other fields will be automatically filled." +msgstr "Kopieren Sie Ihren öffentlichen PGP-Schlüssel in das erste Feld unten. Durch die Validierung wird ihr Schlüssel erkannt, und die anderen Felder werden automatisch ausgefüllt." + +#: wp2pgpmail.php:182 +#@ wp2pgpmail +msgid "Need help?" +msgstr "Brauchen Sie Hilfe?" + +#: wp2pgpmail.php:184 +#@ wp2pgpmail +msgid "Infomation about PGP from wp2pgpmail" +msgstr "Informationen über PGP von wp2pgpmail" + +#: wp2pgpmail.php:185 +#@ wp2pgpmail +msgid "wp2pgpmail FAQ" +msgstr "wp2pgpmail-FAQ" + +#: wp2pgpmail.php:186 +#@ wp2pgpmail +msgid "wp2pgpmail Support Ticket System" +msgstr "wp2pgpmail-Support-Ticket-System" + +#: wp2pgpmail.php:187 +#@ wp2pgpmail +msgid "wp2pgpmail Forums" +msgstr "wp2pgpmail-Foren" + diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.mo b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..bee202d510c8124a50160be978c3a0342a5294e3 GIT binary patch literal 2687 zcmca7#4?qEfq_Amfq_AWfq{XAk%2*zfq~%-BS@5iVFD8aLkI%{!$c+q20jJ`hG$F+ z4EziX3}2ZT7(^Ku7+9GZ7#tZG7^ImQ7`PZ17-E?j7}yyY7&4%A0W$*w3j+f~1v3MK zE&~HYEi(gyAOi!#YGwuoX$A&{z03>@JPZsBH<=k2SV87P`EQ{5elkPc^N*Q<!JmPF zL4$>XK?h_W3&cH3Sr`~N7#J9~K<T|K3=F~y3=GFuAm-j;VPN27U|@L8!oZ-<z`*d4 zg@HkXfq_Ah6{6pZm4QKmiGd-Km4U&Xfq|ijoq<7-fq`KcJ4F5tJH))#>=1qb*%=sk zLGIvym}|xX@vj310|Ofa1A_+#1A_?z1A{*Y#D6Uu5c3vrK*H@1RNo~i{|;2&8xBbL zeCA+aNCml%lYzmIfq|i&lYv2qfq`KsCj$dF0|UbuPKdoXI3ezO#0d%aZ%}bYE(QiO z1_lOhE(Qj51_lNvE(Qh>1_p*KE(Qi@l!D_!k^!O*BnL8|i2-6BDAqyo0ir?nfx;G) zHb8t(e1p;m$e*Av6=z^zkYHe7kOE0UF(^(!Ofe7v#h`cvF+u4E6m|j(3=GU50R~7~ z0HqgDngR<sDx_tm=A<ZOBo-^=<(DWVrKaX7B<JTA<fN9QrsyezWF+QgD^%u}DwO2I z#T7F16!MEwQj0)>Wr;bNDTyVi3MCn-3TgR8xq1w)y19v&ISP&`DMhKp#SE@_$wid~ zB?`W&#l?x~sW5(Oib8;U09@29zbIFsxHLIAwYWH~G$*H0p|~_DH?yQ9HAPV&BqLQJ z6=F<kib5{LAh4ss4lYj3E74={41indom#2j>0-qIv(hgyH<iIJUjgh`g@V$goXljf z?b)f72xC(7N>YnbQxqywOY|55a#9nEQx!^zDispb6EpMl7y=;LKxUUz7Nja9=B0oP zEKM!8VhBpj$xlpC$jk+KFetS+wS*x!u`E@=IU_MIJ++u2I5jVY0qhHK&?G{F1`@E9 z1*s_tnZ*j3dCB=jMXAXpdSI1cvlPlwi!#$PlM_oa^Fa}lk_y%Xb18~01;2b;K@*aZ zS&UsyA+0Ds7i4CULV0RZab`&>LkP%opx7+WFG{gu2rW)60taSTYEf}!ex4OWWPWLp z0$L=4#bCh==77T-%mPI-G|aJvH`LoXm3j=IFa@PWaI_*~ytFtoFI}O$z^EX-02F|F z3<$ZD#F9jYfTH}Y)Z`Lf&lFvlGm(@l80r}qa|NXq<QJ9b`WB~Wrsz7ArWfmm<Xb6l z1^9>PIv1saLs-`(u_V<>!N|bSP}jgh*T6`@(A>(%OxwWFz<?{jUpFYVEE5z4P<32B ziNz(lAw`LK#W{&3`9)R=Uirm`S1NdwCgv%)=jT-&UYL_wrC^g4pIB5_nwguFSn5!j zn312ams)Jc<&&6~UYeMmsvDA;m}{lrm0FaUnxo+4>f`9??4e+j1?D>>rRF4N>Lq8` zart`sx*~jMsAs_CoS#>cnpdI=iZLsNlGKV4{eqmt%sgv_<c!3k;?xq`&=5CW3xqn5 zOVd(|bY1h3^HVbO(ybIMk}^xUB6I`tQ&TcabYV`iQgF>n&&e##Ku9^~m*$leRaz;8 z`gw-9x+nyPIEJ_eBjkhgON)|IogwyGDU_C^=~^IUy;Cbesj1i}v$(`cAwJ$ZKGixt z86oeKSe#mrSdw9-pob6)PE9OI&Im{>$<Q^hQqa%H&rQ{bgo?f=D68hBmgpnWgnoHJ zd{JsaesN|=eo>`<Nl|HDHWx!^o<eeBZb806UcN#`qC#<IO1?r-YEDjSUSdkVo<dM+ zPR`+#d8s-13I&Npi3$bzpkggGuPigMNFg;xAvZOzI58_#kHICgC^b1b^YG?8g_KkU zaEi@WNX<!2E-5;^IWIFgpTRjZtthbwrh~y3q7z)oB!i?<@)-^-go#2$6u>s6fQnXd z&QHt*<!nV{+dKmpJY5u=a}vu^LFF0PIShXJxk*Lf60JBD<gLuSlA`>S(qxeDO7jvG zl0nMBR+k-K2r8cyO7c?@%MPzi)ME(9FH%TLEXyy_Q79-XO-)J#c_^<mwJcwcAtbXP zAH;>|FF3plR8S@=RD#O6{31v}mz-FXo>&Aa>hc(ZQZw^1lQR>G7~D$}i&7GcK*61q znGY)VL4nBNlc<n_2)k5J?o~)jOwP>7EJ;jBR7gcC_Y(COTyqqX4{uJ%Ob0syR`|ig z9b6{nDHN7s_&P5iWE41Fl1uXSKxH8$Xka0X9GR}gC8@B80tFv9RlpRcq!y>7DwLEe z6dYcdo|%^jDi;|-Qj>F1Qx$R&6$%n_5|fG&tw6C7T3nh~l$meE04{S5Z_cw~2rk9& zE=UZTjzG*jNZbXNLSqRY%AjHr;%4ONgnB6voHFznK-Co_6~mJdsIpGXOUXwn@bnlw P^FVcRA|&J>N)s6Xh_C#c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.po b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.po new file mode 100644 index 000000000..704cd157f --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-es_ES.po @@ -0,0 +1,132 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp2pgpmail 1.03\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-02 17:26+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: José Juan González <j_arquimbau@yahoo.es>\n" +"Language-Team: Jeriel BELAICH <jeriel@belai.ch>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: English\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;_c\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk\n" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:47 +msgid "Form successfully submitted! The encrypted message has been sent." +msgstr "¡Mensaje cifrado enviado correctamente!" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:49 +msgid "Encrypted PGP Message" +msgstr "Mensaje PGP cifrado" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:56 +msgid "The image verification code you entered is incorrect. No message has been sent." +msgstr "El código de verificación de imagen que ha introducido no es correcto. No se ha enviado el mensaje." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:57 +msgid "Please try again." +msgstr "Por favor, pruebe de nuevo." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:92 +msgid "A field has not been completed. Thank you to complete in order to validate the form." +msgstr "Un campo no ha sido rellenado. Rellénelo para poder enviar el mensaje." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:98 +msgid "The email address you typed is incorrect." +msgstr "La dirección email facilitada es incorrecta." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:105 +msgid "Name" +msgstr "Nombre" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:105 +msgid "E-mail Address" +msgstr "Dirección de correo electrónico" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:105 +msgid "Message" +msgstr "Mensaje" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:106 +msgid "IP Address" +msgstr "Dirección IP" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:107 +msgid "This message has been sent from your website" +msgstr "Este mensaje ha sido enviado desde tu página web" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:107 +msgid "and has been encrypted using wp2pgpmail." +msgstr "y ha sido cifrado empleando wp2pgpmail." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:134 +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:135 +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:136 +msgid "encrypted data" +msgstr "Información cifrada" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:153 +msgid "Your Name" +msgstr "Su nombre" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:157 +msgid "Your E-mail Address" +msgstr "Su dirección email" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:161 +msgid "Your Message" +msgstr "Su mensaje" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:170 +msgid "Encrypt Message" +msgstr "Cifrar mensaje" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:171 +msgid "Reset" +msgstr "Reiniciar" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:175 +msgid "Reload image" +msgstr "Recargar imagen" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:176 +msgid "Type the word:" +msgstr "Teclee la palabra:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:178 +msgid "Send" +msgstr "Enviar" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:207 +msgid "No valid public PGP key has been entered yet." +msgstr "No se ha introducido una clave PGP válida todavía." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:209 +msgid "Your PGP public key has been entered correctly." +msgstr "Su clave pública PGP se ha introducido correctamente." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:272 +msgid "Version:" +msgstr "Versión:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:276 +msgid "User ID:" +msgstr "ID Usuario:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:280 +msgid "Key ID:" +msgstr "ID Clave:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:284 +msgid "Public Key type and values:" +msgstr "Tipo de clave pública y valores:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:305 +msgid "Save Changes" +msgstr "Guardar cambios" + diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.mo b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.mo new file mode 100644 index 0000000000000000000000000000000000000000..7b73661b65d8fb13dae082e1ca2c76065618778d GIT binary patch literal 4467 zcmca7#4?qEfq_Arfq_AWfq|ifk%7UQfq~%+6G)VSVFxn<LkI%{!%k)fhA;*O20j)B z20jJ`hEx^?27Zuw76t}U1_p)}76t|@1_p*%EDQ`H3=9lcSr`}`85kH|u`n=HGB7ac zutL-?V`X3vXJBC1#>&9J#lXODj+KEyg@J+LCMyF2I|Bp5KPb({#=yV=vX2d-PMD2> zL6?DnL5_`qftP`S!H123VIl(qLlheWgCGL~!y7gR25FFfHU<U-1_lNxb_NC>1_lOe zb_NDk1_lNXDBq7AVs11$1A`_5149Bk1A{*U149=(1A`6&1H&zLi2v9*7#KJh7#PH$ zv^)m`gD?XFg9Zo0TpJDs22KVB22TzK27LwwhF}f`1`P%VhGq_k{xwi~HwVOhr#K+) zy2HW1@RyN+;V%ayoPTpMFtjl+Fqm^g^zGwjU=U(pU^vUoz#zuJ!0>>Zfx(M`f#Ewh zB;1^M7#IRU{^ns|*v`Pfu!aW`9x1#G3{ngX3`M+<@apAdV6bFhV3@%R371Q}knnxS z%fP_Qz`*d07ZM-8co`TB85kJ2_#o<R_!t;wGcYhjK>1(zAn_}}&%mI>z`&r!4@oDU z{1Eff_!$^v85kJyp!^<w1_pHo28Jp83=Am@3=Dht85nFC7#I`<Aoj%zFfb@GFfil` zK*DdL03^N47J&F;15|vU00V;w0|Ube0Z91%h3eN8goKl=AOnK{C>;nw+!rgzz`)1= zF%y(>LCF^s9-uS?;)CJ_6rOA#4g*9FDBXbkqzdvE0|SF3R1TDW<)LgC1&Vu6x(E3U zB&Nl{z`zai7Xt%>GBodi(hEoql#W3(2!ql#C_RG02$WwyVjy>e(l96=fcT)i2ckjw z0Yro1M-IebfTRUbx|U#oq&rYr2BljDM}@S^)SMKBjKpGvy!;Y{q}0?rh2;F)f}GTn z)D%61kc`B<Y=z4FQiYOyxVS=Qo<e?6N@@{Euq-hrGbOPkRiPv!RUs|EC|8fcF(n1e zE6&I-DoM^yNmZ~(vWqS+Fe*qd$W6@5iM7#BvIFT&%&Sxg$S*EY$S+a|NK8)!iKS!~ z7vv;Xf(=N{&nrnxE`b{BsteMr;Fyw9lv-TO;F_0QR9R4>;G0@poS2>p<EN%51h@wv ziI$`mfjm$I7A`1F%E?St$WE;Uc>?TYu>X@%bMng-^79l*GBS%53KG*(^%&gpb3lTn z#USyJ^30Nw)FKAA{Gwci;?m^g)Z*f_(wv-1h2qkrT##IfqC!YUszNHnS*a-sxe$ke z!xkK_#i@BEdJOKVB?^eJPzWf>S13y@D$dN$Qz*|Y$pHB;vm`S=FEK~K4dk|B9fi=m zoXp(JlGGFhkoCnn3Vx}@Af8K6V!A?}x`Inlet|+_UW$TaN?BrFa%zf#D>$f}^YhX& z(@TpILFOrfY%a;nOIHXkNh~T!O=0jz%_#ucpPOHjisU2)&j64kz=7<UmzJLk)~=A4 zlwVo`4#c#g{9I)9-l>%eo-S4lu$b^m%uQwROHEBt$Vkm8uxIegR{*CH1!(Al;s+E1 zphO1_nAE(I)S}cBh04?tJqD00$i(2(lF|Z(fW+dGRQ&N*R9pg0#o$=fQ*f$;*p~?M ztqw#p$iDK-oE(LuRE46{<oxu!%&OEBaG-%wL4HX_Y7xYgVg;DG#L^P5=aUmb@tl^K zlardF#}JT{npm8wP*PN>keHsBnWx7P07+CJN0(F<q=F4COUx-vEw*9^0%Z-P=+4hm z2+uD{2>^wzUVc$JLr`i?eqxG3W-cfV2c;ILmM{b-mZd5<XC&sOrxr5=r{<+FfD;xt zN)sWeALJ<okYy<fnZ*j3dCB=jMXAXpdSI1cvp|U|Gc7Y25_#ZU2+GE=phnT9;Fpgp zwT6K51J;zR08R##`K3h)<*7-<nI)+VAt2v_g0nooD8-5)v^cd0oG`*5>D!7S5~La} zAA`kUNe9dUrynp2lop_g1{8r92?pxzoJu_gQ1VBT2bT@0DGH^<pcIdY06hjo22DvU zNn}7sDY!WXqHyzzN^^^mMS@EU3i69e6hbnSvr|hHf-8$lQgaysit@8klS_0xQ*>b- zMamrthI$6ZTtTTIjk><Y>6t0IPNnI^x*_>i3S0sHA-c{*so*%$bxABqwNfxLFf`IN zFw-?KQ!q5KGB(sUFf=gW3h>trN-fI-l@d^OTt11#CAuL+iFw62i6!|(RtjE+R~BWa z<|sJ1`Zyl$clO}&Nz6+xO-xVK4M|PRwNmg(g-d%ndnnjsf%y(esX2+6ddV4fT)v*Z zt_Uv}>KSl3=jWBA=9TDzBGyWwB(<VMzaS?uGtXKfIU}*CIJLw!G{jBU0-+A%oV3&; zUDv$i{FKbRbSnjmq|6eo2;G4E)RfE;U6_-s6kPMtb25uF5K_+hrFkVql~xL&ex4z& zE(*aRjv=nW2>Iar(xT*4XNbL43Z*4!x)umo@6<|AqAT{vEH1H9h>y39PqmIuM#wuQ z7N-^@mSk8d=ph7yQxl7lGXfGzGIR~B6!bIlb5r#pp`z~zDw6V2OY{-xL%+Nrz9_XI zzc{lbzo=5bq^LA6n~NbdPa!3>7!)441;q+^>WK;kiNy+sSC$-JsZf-fTac5fr{J4f zl$@!MlB$rC3aLa7uPjL|(qr(<D?YrkD76YCj=!=@Nz4Noo|y|uMyU#grKvdziA5!u z$vLSC`K1bZ>c}!Vso)w+p#YTI64TN$lR<@B4y1Z6%}LBGN(DIvTDyYkYfx#FssPED z49=ixHMI!jC}_rqmF(cszxeRV<kF(d;=?N$f)g`~GmDE;s}#!eONvqzl5-BPgcS0H zrKu3br9}$KsU;;)7lFM23WSWr+yaH<Ox={!;^O?$Vm*f7(#*2dD&4&N(qe_;(jo=q z`WEWs;{4Lw%wmPaveaa74SaY-v4Wz4Pb$3V0_XX|D-{x<!4EARQgc)DN)%G_%JM4@ zuhe7kPbx{x1BH1asE7pRC{P^;3J^q8E2NevBpqIvcX(x5W^!g~6>=08mlhP{99{`B z6cm!hItrzE3VHdtNsv$lHG!ZG&ddQ<+lN<zl%y(Tf|68PVltRjnpu)rmI|_`G!K+0 zkSc10L{KGucqJ&3iWO49t)5~%2H(tLQ0qdWD8IBMl>wA9i!zf+Q>!2Wf^a*7Be;E( zs^A&G0II%=AoX{#LSm^xacNd+3COFUg7xqMg#u6-DpE)(RRERWNTn8oXG&^b38MZ0 zrQJkG{36x!`MC^Esm1x3c?v1&iJ2*>3ib?+rO99qVWb35&PWB-Q>oC{DF!8;R6T}( z#G=I9!z)XQKn*}7dji}87@YHSa`2=sSaK>TO3lqoErMi1<YcAbng?wP<dx_kC(`27 zqC{{zATO^J91A(Apa3c<LS*IQ)S~>n5(QWzps*B@jv#p&6d#aGtqyACRi+jx9A2Q1 zmtR_znpmpG;Bt6nNn&PBF({~W;Nj+%Uy@pd6v*I&j@}vo6|Cv0MGBx$1e=$WlL~De zxTb+pPZ5J_UQud#W^qXoIFlAD<mRWqV+zzRF3Yb>En@IdPlP4}ND@+j1h_(KaS5Wq zkgCVv14@1=pv0z-qYi00q=1C-N{S9|$pM!&3T2>dnOK%u1u+EG3_S&Kq{FizD5fFh zUkRu>$jvO)V{k^~QdsVUW=K%D!IELBLJp|-Ob0s#Qlx;=C8V5z6iE3c3Rc(>r+R5g zW=>{tVo7Rgk%AQiv?2zvz$FuEP%wmn1!1KdgqN3}3l+yK#$awnDN!KdsmG97f+%r7 zMd#s_3h70M7bT~Ha$G@9X?kWJQl#rKfXdy}yix^damC=~7>Fbf>S2_kG_M_ti!+N$ JK<#>DWdJZlHN5}; literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.po b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.po new file mode 100644 index 000000000..096bd4fb4 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail-fr_FR.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp2pgpmail 1.03\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-06-06 14:31+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Jériel BELAÏCH\n" +"Language-Team: Jeriel BELAICH <jeriel@belai.ch>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: English\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;_c\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk\n" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:43 +msgid "Encrypted PGP Message" +msgstr "Message PGP sécurisé" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:47 +msgid "Form successfully submitted! The encrypted message has been sent." +msgstr "Formulaire soumis avec succès ! Le message crypté a été correctement envoyé." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:49 +msgid "The image verification code you entered is incorrect. No message has been sent." +msgstr "Le code de l'image de contrôle que vous avez saisi est incorrect. Aucun message n'a été transmis." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:49 +msgid "Please try again." +msgstr "Merci d'essayer à nouveau." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:61 +msgid "No valid public PGP key has been entered yet." +msgstr "Aucune clé publique PGP n'a encore été saisie." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:63 +msgid "Your PGP public key has been entered correctly." +msgstr "Votre clé publique PGP a été correctement saisie." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:113 +msgid "Getting Started" +msgstr "Mise en route" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:115 +msgid "Enter your PGP public key in the field below on this page." +msgstr "Saisissez votre clé publique PGP sur cette page dans le champ ci-dessous." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:116 +msgid "Add the shortcode <b>[wp2pgpmail]</b> to any Post or Page to display the contact form." +msgstr "Insérez le shortcode <b>[wp2pgpmail]</b> dans n'importe quel article ou n'importe quelle page pour afficher le formulaire de contact." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:119 +msgid "Help Promote wp2pgpmail" +msgstr "Contribuez avec wp2pgpmail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:121 +msgid "Get wp2pgpmail Pro version with Additional Fields, Unlimited Forms, Nested Drag n' Drop and Advanced Email Configuration!" +msgstr "Obtenez la version Pro de wp2pgpmail et bénéficiez des champs supplémentaires, un nombre de formulaire illimité, une interface intuitive et une configuration avancée des e-mails." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:122 +msgid "Follow us on Twitter" +msgstr "Suivez-nous sur Twitter" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:123 +msgid "Rate wp2pgpmail on WordPress.org" +msgstr "Notez wp2pgpmail sur WordPress.org" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:129 +msgid "PGP Key Setup" +msgstr "Paramétrage de la clé PGP" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:130 +msgid "Paste your PGP public key in the first field below. By validating, your key will be recognized and the other fields will be automatically filled." +msgstr "Collez votre clé publique PGP dans le premier champ ci-dessous. En validant, votre clé sera reconnue et les autres champs seront automatiquement remplis." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:145 +msgid "Version:" +msgstr "Version :" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:149 +msgid "User ID:" +msgstr "Identification de l'utilisateur :" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:153 +msgid "Key ID:" +msgstr "Identification de la clé :" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:157 +msgid "Public Key type and values:" +msgstr "Détails de la clé :" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:178 +msgid "Save Changes" +msgstr "Enregistrer les modifications" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:182 +msgid "Need help?" +msgstr "Besoin d'aide ?" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:184 +msgid "Infomation about PGP from wp2pgpmail" +msgstr "Informations au sujet de PGP à partir du site wp2pgpmail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:185 +msgid "wp2pgpmail FAQ" +msgstr "FAQ wp2pgpmail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:186 +msgid "wp2pgpmail Support Ticket System" +msgstr "Assistance wp2pgpmail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:187 +msgid "wp2pgpmail Forums" +msgstr "Forum wp2pgpmail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:12 +msgid "Name" +msgstr "Nom" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:13 +msgid "E-mail Address" +msgstr "Adresse E-mail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:14 +msgid "Message" +msgstr "Message" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:15 +msgid "IP Address" +msgstr "Adresse IP" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:16 +msgid "This message has been sent from your website" +msgstr "Ce message a été envoyé à partir de la page de votre site" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:16 +msgid "and has been encrypted using wp2pgpmail." +msgstr "et a été crypté grâce au plugin wp2pgpmail." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:18 +msgid "A field has not been completed. Thank you to complete in order to validate the form." +msgstr "Un des champs n'a pas été rempli. Merci de le compléter." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:19 +msgid "The email address you typed is incorrect." +msgstr "L'adresse e-mail saisie est incorrecte." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:20 +msgid "encrypted data" +msgstr "contenu crypté" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:23 +msgid "Your Name" +msgstr "Votre nom" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:24 +msgid "Your E-mail Address" +msgstr "Votre adresse e-mail" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:25 +msgid "Your Message" +msgstr "Votre message" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:26 +msgid "Encrypt Message" +msgstr "Crypter le message" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:27 +msgid "Reset" +msgstr "Effacer" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:28 +msgid "Reload image" +msgstr "Recharger une nouvelle image" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:29 +msgid "Type the word:" +msgstr "Saisir le mot :" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:30 +msgid "Send" +msgstr "Envoyer" + diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail.pot b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail.pot new file mode 100644 index 000000000..fdc834557 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail.pot @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp2pgpmail 1.03\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-06-06 14:31+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Jériel BELAÏCH\n" +"Language-Team: Jeriel BELAICH <jeriel@belai.ch>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: English\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;_c\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk\n" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:43 +msgid "Encrypted PGP Message" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:47 +msgid "Form successfully submitted! The encrypted message has been sent." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:49 +msgid "The image verification code you entered is incorrect. No message has been sent." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:49 +msgid "Please try again." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:61 +msgid "No valid public PGP key has been entered yet." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:63 +msgid "Your PGP public key has been entered correctly." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:113 +msgid "Getting Started" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:115 +msgid "Enter your PGP public key in the field below on this page." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:116 +msgid "Add the shortcode <b>[wp2pgpmail]</b> to any Post or Page to display the contact form." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:119 +msgid "Help Promote wp2pgpmail" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:121 +msgid "Get wp2pgpmail Pro version with Additional Fields, Unlimited Forms, Nested Drag n' Drop and Advanced Email Configuration!" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:122 +msgid "Follow us on Twitter" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:123 +msgid "Rate wp2pgpmail on WordPress.org" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:129 +msgid "PGP Key Setup" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:130 +msgid "Paste your PGP public key in the first field below. By validating, your key will be recognized and the other fields will be automatically filled." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:145 +msgid "Version:" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:149 +msgid "User ID:" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:153 +msgid "Key ID:" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:157 +msgid "Public Key type and values:" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:178 +msgid "Save Changes" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:182 +msgid "Need help?" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:184 +msgid "Infomation about PGP from wp2pgpmail" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:185 +msgid "wp2pgpmail FAQ" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:186 +msgid "wp2pgpmail Support Ticket System" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:187 +msgid "wp2pgpmail Forums" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:12 +msgid "Name" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:13 +msgid "E-mail Address" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:14 +msgid "Message" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:15 +msgid "IP Address" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:16 +msgid "This message has been sent from your website" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:16 +msgid "and has been encrypted using wp2pgpmail." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:18 +msgid "A field has not been completed. Thank you to complete in order to validate the form." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:19 +msgid "The email address you typed is incorrect." +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:20 +msgid "encrypted data" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:23 +msgid "Your Name" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:24 +msgid "Your E-mail Address" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:25 +msgid "Your Message" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:26 +msgid "Encrypt Message" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:27 +msgid "Reset" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:28 +msgid "Reload image" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:29 +msgid "Type the word:" +msgstr "" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/classes/formulaire.inc.php:30 +msgid "Send" +msgstr "" + diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.mo b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.mo new file mode 100644 index 0000000000000000000000000000000000000000..5e684590303283ed1cd9b7b0aba4dc2c0cbf2b0e GIT binary patch literal 2682 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 Ui;>DYJ%(%)HHmpCxv41(01XlW&;S4c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.po b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.po new file mode 100644 index 000000000..9e288e121 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/i18n/wp2pgpmail_et.po @@ -0,0 +1,137 @@ +# +# Translators: +# Rivo Zängov <eraser@eraser.ee>, 2012. +msgid "" +msgstr "" +"Project-Id-Version: wp2pgpmail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-02 17:26+0100\n" +"PO-Revision-Date: 2012-02-22 15:14+0100\n" +"Last-Translator: Jériel BELAÏCH\n" +"Language-Team: Estonian (http://www.transifex.net/projects/p/wp2pgpmail/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-KeywordsList: __;_e;_c\n" +"X-Poedit-Language: English\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-SearchPath-0: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk\n" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:47 +msgid "Form successfully submitted! The encrypted message has been sent." +msgstr "Vorm on saadetud! Krüpteeritud sõnum on saadetud." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:49 +msgid "Encrypted PGP Message" +msgstr "Krüpteeritud PGP sõnum" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:56 +msgid "The image verification code you entered is incorrect. No message has been sent." +msgstr "Sinu poolt sisestatud pildi kinnituskood on vale. Sõnumit pole veel saadetud." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:57 +msgid "Please try again." +msgstr "Palun proovi uuesti." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:92 +msgid "A field has not been completed. Thank you to complete in order to validate the form." +msgstr "Väli pole täidetud. Palun täida vorm." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:98 +msgid "The email address you typed is incorrect." +msgstr "Sisestatud e-posti aadress on vigane." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:105 +msgid "Name" +msgstr "Nimi" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:105 +msgid "E-mail Address" +msgstr "E-posti aadress" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:105 +msgid "Message" +msgstr "Sõnum" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:106 +msgid "IP Address" +msgstr "IP aadress" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:107 +msgid "This message has been sent from your website" +msgstr "Sinu veebilehelt saadeti sulle sõnum" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:107 +msgid "and has been encrypted using wp2pgpmail." +msgstr "ja see on krüpteeritud kasutades wp2pgpmail." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:134 +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:135 +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:136 +msgid "encrypted data" +msgstr "krüpteeritud andmed" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:153 +msgid "Your Name" +msgstr "Sinu nimi" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:157 +msgid "Your E-mail Address" +msgstr "Sinu e-posti aadress" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:161 +msgid "Your Message" +msgstr "Sinu sõnum" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:170 +msgid "Encrypt Message" +msgstr "Krüpteeri sõnum" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:171 +msgid "Reset" +msgstr "Tühjenda lahtrid" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:175 +msgid "Reload image" +msgstr "Lae pilt uuesti" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:176 +msgid "Type the word:" +msgstr "Kirjuta sõna:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:178 +msgid "Send" +msgstr "aada" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:207 +msgid "No valid public PGP key has been entered yet." +msgstr "Kehtivat avalikku PGP võtit pole veel sisestatud." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:209 +msgid "Your PGP public key has been entered correctly." +msgstr "Sinu avalik PGP võti on korrektne." + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:272 +msgid "Version:" +msgstr "Versioon:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:276 +msgid "User ID:" +msgstr "Kasutaja ID:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:280 +msgid "Key ID:" +msgstr "Võtme ID:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:284 +msgid "Public Key type and values:" +msgstr "Avaliku võtme tüüp ja väärtused:" + +#: /home/jeriel/Internet/wp2pgpmail/wp_repository/trunk/wp2pgpmail.php:305 +msgid "Save Changes" +msgstr "Salvesta muudatused" + diff --git a/wp-content/plugins/wp2pgpmail/images/big-icon.png b/wp-content/plugins/wp2pgpmail/images/big-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c252be1137c5d094bb48c9a7af48b0f34eed7a5a GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoBuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztF!p%5IEGZ*O8WEvzdf@q<KqvT5}x;!CfvHK%;B?r z%a%X&UtfvFF&{Z{L?SCIOJd_oc1E!nDaW?eD^?gxnKtdw)`Y*mz9wun@b36@@TKwf z18uu^><|#;ss8pRaYylUzUGykV#<Mb46NR6ZfrAblaKMR#T-mYOg#AD*)z7X6C0C{ zHz-9(WJPf7eD~?;X&%qchrKtRJUbg7$-jv~{y-)pH#hg;`S$e^M~)tKjLSQ)Eba9+ z=C3U>9haFVJXBE7(K)jr=_uElOi2~@O{@;#f6WaI6MuYvFF#}c%$b~CZ99UbVq`t| zJ=SlZ&aCVx-_g<0VA|Z!-p=mq;J^^ZeQu8B;SI^h`F2<>YWDE==kMucJn<@Fn&6fP zcXk$sXlreVTCjMr^R&bTJnmCipP!$<d@cW$ty@nTy?Jo3`AB5J$49QWelX1FyXvrI z+BC7qHd)&$ksLOI=l2gq&T2B^78e(9Ubjxqv#t5mn*96w3>%E3?p+dDu|P27*c_Y6 wNh$ITUxb9&c^z7xuvH%Zu=)!l6A#17-K)9}zNqwNU|?YIboFyt=akR{09)eJrT_o{ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/images/icon.png b/wp-content/plugins/wp2pgpmail/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3824df455f154f26592875179af6b6cf2d29b1ac GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztF#Ps(aSW-rwIpaaZ?l1bsi3j}YsVzJSf5L&{1S{D z$_C7(E|UegmUx($bTk=CG+cV9BPrS5+%c!*)8EqXe@u=^{B$o#6j}dU=VQgb{c7>& z+<m|KfAQkTS+MGP<(l`^W<1Q{8ypqaU0ZZ^k)wv0%kjMK#}Z-tJnJM_82b)R>M?f{ zQhTV?p|J10@$tePy!t<smLHp}@~}bfN@rW5fR|={?De@Jee35X+%`M8Dd(e#;Q7xo z@)u0b+9`2v)XCnwQpdZ-;r6!OE6)g;`xb9rxk@X}zHYNxKEwS(mrR~IBwZ?<8)I+J wID@@q<?E_a=9vq%*e=fa^YlySLU~3uhRRdxTw9hM1_c9yr>mdKI;Vst0AERp5dZ)H literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/images/index.php b/wp-content/plugins/wp2pgpmail/images/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/images/reload.png b/wp-content/plugins/wp2pgpmail/images/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3524219e763f341c46d334777ea22c8099b24a GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0y~yV31^BV322FW?*1=Ft6H|fq}swz$e7@=g%LL)?87{ zJ|P{m&Aj<?YX9c`rF$aRzRErIW8%G^eifT8+<0>2*eM1W;EQUhWnf@nED7=pW^j0R zBaMN9fwRCPvY3H^TL^?1FWs&C!@$6B)YHW=q~g}v2^;yE3<TP`3xn8`Dw-Cl<v2ZN zR#-9d>WfD&md)l)Eq%C4iSun5$K=8b<{~>^Jvg(!_WR%I-hC6UCEYl9NQIqOd*P)Q zq6)mOXIvfiSIjYa7PDf_!Z;?Tpnyu}xi&JY3=QYFW<+0=la;<dpV{53Wb@m3B~vd| z&%YtJbc<%ynY8^Mcj@VR)^GnARHl6GqT8fJAJ(twnZV#8cy8zV*``b)!M;L|W~8eL vi3&ORerPIRwPR9x$PrbymmA%y>;ImXR#|J;In7U(8{~aYS3j3^P6<r_$byZ% literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/index.php b/wp-content/plugins/wp2pgpmail/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/js/PGencode.js b/wp-content/plugins/wp2pgpmail/js/PGencode.js new file mode 100644 index 000000000..b95a56e19 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/PGencode.js @@ -0,0 +1,280 @@ + +/* OpenPGP encryption using RSA/AES + * Copyright 2005-2006 Herbert Hanewinkel, www.haneWIN.de + * version 2.0, check www.haneWIN.de for the latest version + + * This software is provided as-is, without express or implied warranty. + * Permission to use, copy, modify, distribute or sell this software, with or + * without fee, for any purpose and by any individual or organization, is hereby + * granted, provided that the above copyright notice and this paragraph appear + * in all copies. Distribution as a part of an application or binary must + * include the above copyright notice in the documentation and/or other + * materials provided with the application or distribution. + */ + +/* We need an unpredictable session key of 128 bits ( = 2^128 possible keys). + * If we generate the session key with a PRNG from a small seed we get only + * a small number of session keys, e.g. 4 bytes seed => 2^32 keys, a brute + * force attack could try all 2^32 session keys. + * (see RFC 1750 - Randomness Recommendations for Security.) + * + * Sources for randomness in Javascript are limited. + * We have load, exec time, seed from random(), mouse movement events + * and the timing from key press events. + * But even here we have restrictions. + * - A mailer will add a timestamp to the encrypted message, therefore + * only the msecs from the clock can be seen as unpredictable. + * - Because the Windows timer is still based on the old DOS timer, + * the msecs jump under Windows in 18.2 msecs steps. + * - Only a few bits from mouse mouvemen event coordinates are unpredictable, + * if the same buttons are clicked on the screen. + */ + +var rnArray = new Array(256); +var rnNext = 0; +var rnRead = 0; + +function randomByte() { return Math.round(Math.random()*255)&255; } +function timeByte() { return ((new Date().getTime())>>>2)&255; } + +function rnTimer() +{ + var t = timeByte(); // load time + + for(var i=0; i<256; i++) + { + t ^= randomByte(); + rnArray[(rnNext++)&255] ^= t; + } + window.setTimeout("rnTimer()",randomByte()|128); +} + +// rnTimer() and mouseMoveCollect() are started on page load. + +rnTimer(); +eventsCollect(); + +// ---------------------------------------- + +function randomString(len, nozero) +{ + var r = ''; + var t = timeByte(); // exec time + + for(var i=0; i<len;) + { + t ^= rnArray[(rnRead++)&255]^mouseByte()^keyByte(); + if(t==0 && nozero) continue; + i++; + + r+=String.fromCharCode(t); + } + return r; +} + +// ---------------------------------------- + +function hex2s(hex) +{ + var r=''; + if(hex.length%2) hex+='0'; + + for(var i = 0; i<hex.length; i += 2) + r += String.fromCharCode(parseInt(hex.slice(i, i+2), 16)); + return r; +} + +function crc24(data) +{ + var crc = 0xb704ce; + + for(var n=0; n<data.length;n++) + { + crc ^=(data.charCodeAt(n)&255)<<16; + for(i=0;i<8;i++) + { + crc<<=1; + if(crc & 0x1000000) crc^=0x1864cfb; + } + } + return String.fromCharCode((crc>>16)&255) + +String.fromCharCode((crc>>8)&255) + +String.fromCharCode(crc&255); +} + +// -------------------------------------- +// GPG CFB symmetric encryption using AES + +var symAlg = 7; // AES=7, AES192=8, AES256=9 +var kSize = [16,24,32] // key length in bytes +var bpbl = 16; // bytes per data block + +function GPGencrypt(key, text) +{ + var i, n; + var len = text.length; + var lsk = key.length; + var iblock = new Array(bpbl) + var rblock = new Array(bpbl); + var ct = new Array(bpbl+2); + var expandedKey = new Array(); + + var ciphertext = ''; + + // append zero padding + if(len%bpbl) + { + for(i=(len%bpbl); i<bpbl; i++) text+='\0'; + } + + expandedKey = keyExpansion(key); + + // set up initialisation vector and random byte vector + for(i=0; i<bpbl; i++) + { + iblock[i] = 0; + rblock[i] = randomByte(); + } + + iblock = AESencrypt(iblock, expandedKey); + for(i=0; i<bpbl; i++) + { + ct[i] = (iblock[i] ^= rblock[i]); + } + + iblock = AESencrypt(iblock, expandedKey); + // append check octets + ct[bpbl] = (iblock[0] ^ rblock[bpbl-2]); + ct[bpbl+1] = (iblock[1] ^ rblock[bpbl-1]); + + for(i = 0; i < bpbl+2; i++) ciphertext += String.fromCharCode(ct[i]); + + // resync + iblock = ct.slice(2, bpbl+2); + + for(n = 0; n < text.length; n+=bpbl) + { + iblock = AESencrypt(iblock, expandedKey); + for(i = 0; i < bpbl; i++) + { + iblock[i] ^= text.charCodeAt(n+i); + ciphertext += String.fromCharCode(iblock[i]); + } + } + return ciphertext.substr(0,len+bpbl+2); +} + +// ------------------------------ +// GPG packet header (old format) + +function GPGpkt(tag, len) +{ + if(len>255) tag +=1; + var h = String.fromCharCode(tag); + if(len>255) h+=String.fromCharCode(len/256); + h += String.fromCharCode(len%256); + return h; +} + +// ---------------------------------------------- +// GPG public key encryted session key packet (1) + +var el = [3,5,9,17,513,1025,2049,4097]; + +function GPGpkesk(keyId, keytyp, symAlgo, sessionkey, pkey) +{ + var mod=new Array(); + var exp=new Array(); + var enc=''; + + var s = r2s(pkey); + var l = Math.floor((s.charCodeAt(0)*256 + s.charCodeAt(1)+7)/8); + + mod = mpi2b(s.substr(0,l+2)); + + if(keytyp) + { + var grp=new Array(); + var y =new Array(); + var B =new Array(); + var C =new Array(); + + var l2 = Math.floor((s.charCodeAt(l+2)*256 + s.charCodeAt(l+3)+7)/8)+2; + + grp = mpi2b(s.substr(l+2,l2)); + y = mpi2b(s.substr(l+2+l2)); + exp[0] = el[randomByte()&7]; + B = bmodexp(grp,exp,mod); + C = bmodexp(y,exp,mod); + } + else + { + exp = mpi2b(s.substr(l+2)); + } + + var lsk = sessionkey.length; + + // calculate checksum of session key + var c = 0; + for(var i = 0; i < lsk; i++) c += sessionkey.charCodeAt(i); + c &= 0xffff; + + // create MPI from session key using PKCS-1 block type 02 + var lm = (l-2)*8+2; + var m = String.fromCharCode(lm/256)+String.fromCharCode(lm%256) + +String.fromCharCode(2) // skip leading 0 for MPI + +randomString(l-lsk-6,1)+'\0' // add random padding (non-zero) + +String.fromCharCode(symAlgo)+sessionkey + +String.fromCharCode(c/256)+String.fromCharCode(c&255); + + if(keytyp) + { + // add Elgamal encrypted mpi values + enc = b2mpi(B)+b2mpi(bmod(bmul(mpi2b(m),C),mod)); + + return GPGpkt(0x84,enc.length+10) + +String.fromCharCode(3)+keyId+String.fromCharCode(16)+enc; + } + else + { + // rsa encrypt the result and convert into mpi + enc = b2mpi(bmodexp(mpi2b(m),exp,mod)); + + return GPGpkt(0x84,enc.length+10) + +String.fromCharCode(3)+keyId+String.fromCharCode(1)+enc; + } +} + +// ------------------------------------------ +// GPG literal data packet (11) for text file + +function GPGld(text) +{ + if(text.indexOf('\r\n') == -1) + text = text.replace(/\n/g,'\r\n'); + return GPGpkt(0xAC,text.length+10)+'t' + +String.fromCharCode(4)+'file\0\0\0\0'+text; +} + +// ------------------------------------------- +// GPG symmetrically encrypted data packet (9) + +function GPGsed(key, text) +{ + var enc = GPGencrypt(key, GPGld(text)); + return GPGpkt(0xA4,enc.length)+enc; +} + +// ------------------------------------------------ + +function doEncrypt(keyId,keytyp,pkey,text) +{ + var keylen = kSize[symAlg-7]; // session key length in bytes + + var sesskey = randomString(keylen,0); + keyId = hex2s(keyId); + var cp = GPGpkesk(keyId,keytyp,symAlg,sesskey,pkey)+GPGsed(sesskey,text); + + return '\n\n-----BEGIN PGP MESSAGE-----\nVersion: haneWIN JavascriptPG v2.0 w/ wp2pgpmail\n\n' + +s2r(cp)+'\n='+s2r(crc24(cp))+'\n-----END PGP MESSAGE-----\n\n'; +} diff --git a/wp-content/plugins/wp2pgpmail/js/PGpubkey.js b/wp-content/plugins/wp2pgpmail/js/PGpubkey.js new file mode 100644 index 000000000..831254622 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/PGpubkey.js @@ -0,0 +1,185 @@ + +/* OpenPGP public key extraction + * Copyright 2005 Herbert Hanewinkel, www.haneWIN.de + * version 1.0, check www.haneWIN.de for the latest version + + * This software is provided as-is, without express or implied warranty. + * Permission to use, copy, modify, distribute or sell this software, with or + * without fee, for any purpose and by any individual or organization, is hereby + * granted, provided that the above copyright notice and this paragraph appear + * in all copies. Distribution as a part of an application or binary must + * include the above copyright notice in the documentation and/or other materials + * provided with the application or distribution. + */ + +function s2hex(s) +{ + var result = ''; + for(var i=0; i<s.length; i++) + { + c = s.charCodeAt(i); + result += ((c<16) ? "0" : "") + c.toString(16); + } + return result; +} + +function getPublicKey(text) +{ + var reg = new RegExp("Comment:.{0,}(\r\n|\r|\n)", "g"); + text = text.replace(reg, ""); + + var found = 0; + var i= text.indexOf('-----BEGIN PGP PUBLIC KEY BLOCK-----'); + + if(i == -1) + { + alert('No PGP Public Key Block'); + this.vers = ''; + this.fp = ''; + this.keyid = ''; + this.user = ''; + this.pkey = ''; + return; + } + + var a=text.indexOf('\n',i); + if(a>0) a = text.indexOf('\n', a+1); + + var e=text.indexOf('\n=',i); + if(a>0 && e>0) text = text.slice(a+2,e); + else + { + alert('Invalid PGP Public Key Block'); + this.vers = ''; + this.fp = ''; + this.keyid = ''; + this.user = ''; + this.pkey = ''; + return; + } + + var s=r2s(text); + + for(var i=0; i < s.length;) + { + var tag = s.charCodeAt(i++); + + if((tag&128) == 0) break; + + if(tag&64) + { + tag&=63; + len=s.charCodeAt(i++); + if(len >191 && len <224) len=((len-192)<<8) + s.charCodeAt(i++); + else if(len==255) len = (s.charCodeAt(i++)<<24) + (s.charCodeAt(i++)<<16) + (s.charCodeAt(i++)<<8) + s.charCodeAt(i++); + else if(len>223 &&len<255) len = (1<<(len&0x1f)); + } + else + { + len = tag&3; + tag = (tag>>2)&15; + if(len==0) len = s.charCodeAt(i++); + else if(len==1) len = (s.charCodeAt(i++)<<8) + s.charCodeAt(i++); + else if(len==2) len = (s.charCodeAt(i++)<<24) + (s.charCodeAt(i++)<<16) + (s.charCodeAt(i++)<<8) + s.charCodeAt(i++); + else len = s.length-1; + } + + if(tag==6 || tag==14) // public key/subkey packet + { + var k = i; + var vers=s.charCodeAt(i++); + + found = 1; + this.vers=vers; + + var time=(s.charCodeAt(i++)<<24) + (s.charCodeAt(i++)<<16) + (s.charCodeAt(i++)<<8) + s.charCodeAt(i++); + + if(vers==2 || vers==3) var valid=s.charCodeAt(i++)<<8 + s.charCodeAt(i++); + + var algo=s.charCodeAt(i++); + + if(algo == 1 || algo == 2) + { + var m = i; + var lm = Math.floor((s.charCodeAt(i)*256 + s.charCodeAt(i+1)+7)/8); + i+=lm+2; + + var mod = s.substr(m,lm+2); + var le = Math.floor((s.charCodeAt(i)*256 + s.charCodeAt(i+1)+7)/8); + i+=le+2; + + this.pkey=s2r(s.substr(m,lm+le+4)); + this.type="RSA"; + + if(vers==3) + { + this.fp=''; + this.keyid=s2hex(mod.substr(mod.length-8, 8)); + } + else if(vers==4) + { + var pkt = String.fromCharCode(0x99) + String.fromCharCode(len>>8) + + String.fromCharCode(len&255)+s.substr(k, len); + var fp = str_sha1(pkt); + this.fp=s2hex(fp); + this.keyid=s2hex(fp.substr(fp.length-8,8)); + } + else + { + this.fp=''; + this.keyid=''; + } + found = 2; + } + else if((algo == 16 || algo == 20) && vers == 4) + { + var m = i; + + var lp = Math.floor((s.charCodeAt(i)*256 + s.charCodeAt(i+1)+7)/8); + i+=lp+2; + + var lg = Math.floor((s.charCodeAt(i)*256 + s.charCodeAt(i+1)+7)/8); + i+=lg+2; + + var ly = Math.floor((s.charCodeAt(i)*256 + s.charCodeAt(i+1)+7)/8); + i+=ly+2; + + this.pkey=s2r(s.substr(m,lp+lg+ly+6)); + + var pkt = String.fromCharCode(0x99) + String.fromCharCode(len>>8) + + String.fromCharCode(len&255)+s.substr(k, len); + var fp = str_sha1(pkt); + this.fp=s2hex(fp); + this.keyid=s2hex(fp.substr(fp.length-8,8)); + this.type="ELGAMAL"; + found = 3; + } + else + { + i = k + len; + } + } + else if(tag==13) // user id + { + this.user=s.substr(i,len); + i+=len; + } + else + { + i+=len; + } + } + if(found < 2) + { + this.vers = ''; + this.fp = ''; + this.keyid = ''; + if(found == 0) + this.user = "No public key packet found."; + else if(found == 1) + { + this.user = "public key algorithm is " + algo + " not RSA or ELGAMAL."; + } + this.pkey = ""; + } +} diff --git a/wp-content/plugins/wp2pgpmail/js/aes-enc.js b/wp-content/plugins/wp2pgpmail/js/aes-enc.js new file mode 100644 index 000000000..7e78c9f2c --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/aes-enc.js @@ -0,0 +1,480 @@ + +/* Rijndael (AES) Encryption + * Copyright 2005 Herbert Hanewinkel, www.haneWIN.de + * version 1.0, check www.haneWIN.de for the latest version + + * This software is provided as-is, without express or implied warranty. + * Permission to use, copy, modify, distribute or sell this software, with or + * without fee, for any purpose and by any individual or organization, is hereby + * granted, provided that the above copyright notice and this paragraph appear + * in all copies. Distribution as a part of an application or binary must + * include the above copyright notice in the documentation and/or other materials + * provided with the application or distribution. + */ + +// The round constants used in subkey expansion +var Rcon = [ +0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, +0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, +0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 ]; + +// Precomputed lookup table for the SBox +var S = [ + 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, +118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, +114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, +216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, +235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, +179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, +190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, +249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, +188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, +23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, +144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, + 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, +141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, + 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, +181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, +248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, +140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, + 22 ]; + +var T1 = [ +0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, +0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, +0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56, +0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec, +0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, +0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, +0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, +0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b, +0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c, +0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, +0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, +0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a, +0x0c040408, 0x52c7c795, 0x65232346, 0x5ec3c39d, +0x28181830, 0xa1969637, 0x0f05050a, 0xb59a9a2f, +0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, +0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, +0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34, +0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b, +0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d, +0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, +0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, +0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, +0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972, +0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85, +0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, +0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, +0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe, +0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b, +0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05, +0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, +0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, +0x30101020, 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, +0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3, +0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e, +0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, +0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, +0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3, +0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b, +0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428, +0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, +0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, +0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8, +0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4, +0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2, +0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, +0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, +0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, +0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810, +0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c, +0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, +0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, +0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, +0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc, +0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c, +0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, +0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, +0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122, +0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433, +0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9, +0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, +0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, +0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0, +0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e, +0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c ]; + +var T2 = [ +0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d, +0xf2f2ff0d, 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154, +0x30306050, 0x01010203, 0x6767cea9, 0x2b2b567d, +0xfefee719, 0xd7d7b562, 0xabab4de6, 0x7676ec9a, +0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87, +0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b, +0xadad41ec, 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea, +0x9c9c23bf, 0xa4a453f7, 0x7272e496, 0xc0c09b5b, +0xb7b775c2, 0xfdfde11c, 0x93933dae, 0x26264c6a, +0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f, +0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908, +0x7171e293, 0xd8d8ab73, 0x31316253, 0x15152a3f, +0x0404080c, 0xc7c79552, 0x23234665, 0xc3c39d5e, +0x18183028, 0x969637a1, 0x05050a0f, 0x9a9a2fb5, +0x07070e09, 0x12122436, 0x80801b9b, 0xe2e2df3d, +0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f, +0x0909121b, 0x83831d9e, 0x2c2c5874, 0x1a1a342e, +0x1b1b362d, 0x6e6edcb2, 0x5a5ab4ee, 0xa0a05bfb, +0x5252a4f6, 0x3b3b764d, 0xd6d6b761, 0xb3b37dce, +0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397, +0x5353a6f5, 0xd1d1b968, 0x00000000, 0xededc12c, +0x20204060, 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed, +0x6a6ad4be, 0xcbcb8d46, 0xbebe67d9, 0x3939724b, +0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, 0xcfcf854a, +0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16, +0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194, +0x45458acf, 0xf9f9e910, 0x02020406, 0x7f7ffe81, +0x5050a0f0, 0x3c3c7844, 0x9f9f25ba, 0xa8a84be3, +0x5151a2f3, 0xa3a35dfe, 0x404080c0, 0x8f8f058a, +0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104, +0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263, +0x10102030, 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d, +0xcdcd814c, 0x0c0c1814, 0x13132635, 0xececc32f, +0x5f5fbee1, 0x979735a2, 0x444488cc, 0x17172e39, +0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47, +0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695, +0x6060c0a0, 0x81811998, 0x4f4f9ed1, 0xdcdca37f, +0x22224466, 0x2a2a547e, 0x90903bab, 0x88880b83, +0x46468cca, 0xeeeec729, 0xb8b86bd3, 0x1414283c, +0xdedea779, 0x5e5ebce2, 0x0b0b161d, 0xdbdbad76, +0xe0e0db3b, 0x32326456, 0x3a3a744e, 0x0a0a141e, +0x494992db, 0x06060c0a, 0x2424486c, 0x5c5cb8e4, +0xc2c29f5d, 0xd3d3bd6e, 0xacac43ef, 0x6262c4a6, +0x919139a8, 0x959531a4, 0xe4e4d337, 0x7979f28b, +0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7, +0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0, +0x6c6cd8b4, 0x5656acfa, 0xf4f4f307, 0xeaeacf25, +0x6565caaf, 0x7a7af48e, 0xaeae47e9, 0x08081018, +0xbaba6fd5, 0x7878f088, 0x25254a6f, 0x2e2e5c72, +0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751, +0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21, +0x4b4b96dd, 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85, +0x7070e090, 0x3e3e7c42, 0xb5b571c4, 0x6666ccaa, +0x484890d8, 0x03030605, 0xf6f6f701, 0x0e0e1c12, +0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0, +0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9, +0xe1e1d938, 0xf8f8eb13, 0x98982bb3, 0x11112233, +0x6969d2bb, 0xd9d9a970, 0x8e8e0789, 0x949433a7, +0x9b9b2db6, 0x1e1e3c22, 0x87871592, 0xe9e9c920, +0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a, +0x8c8c038f, 0xa1a159f8, 0x89890980, 0x0d0d1a17, +0xbfbf65da, 0xe6e6d731, 0x424284c6, 0x6868d0b8, +0x414182c3, 0x999929b0, 0x2d2d5a77, 0x0f0f1e11, +0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, 0x16162c3a ]; + +var T3 = [ +0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b, +0xf2ff0df2, 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5, +0x30605030, 0x01020301, 0x67cea967, 0x2b567d2b, +0xfee719fe, 0xd7b562d7, 0xab4de6ab, 0x76ec9a76, +0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d, +0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0, +0xad41ecad, 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf, +0x9c23bf9c, 0xa453f7a4, 0x72e49672, 0xc09b5bc0, +0xb775c2b7, 0xfde11cfd, 0x933dae93, 0x264c6a26, +0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc, +0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1, +0x71e29371, 0xd8ab73d8, 0x31625331, 0x152a3f15, +0x04080c04, 0xc79552c7, 0x23466523, 0xc39d5ec3, +0x18302818, 0x9637a196, 0x050a0f05, 0x9a2fb59a, +0x070e0907, 0x12243612, 0x801b9b80, 0xe2df3de2, +0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75, +0x09121b09, 0x831d9e83, 0x2c58742c, 0x1a342e1a, +0x1b362d1b, 0x6edcb26e, 0x5ab4ee5a, 0xa05bfba0, +0x52a4f652, 0x3b764d3b, 0xd6b761d6, 0xb37dceb3, +0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784, +0x53a6f553, 0xd1b968d1, 0x00000000, 0xedc12ced, +0x20406020, 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b, +0x6ad4be6a, 0xcb8d46cb, 0xbe67d9be, 0x39724b39, +0x4a94de4a, 0x4c98d44c, 0x58b0e858, 0xcf854acf, +0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb, +0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485, +0x458acf45, 0xf9e910f9, 0x02040602, 0x7ffe817f, +0x50a0f050, 0x3c78443c, 0x9f25ba9f, 0xa84be3a8, +0x51a2f351, 0xa35dfea3, 0x4080c040, 0x8f058a8f, +0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5, +0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321, +0x10203010, 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2, +0xcd814ccd, 0x0c18140c, 0x13263513, 0xecc32fec, +0x5fbee15f, 0x9735a297, 0x4488cc44, 0x172e3917, +0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d, +0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573, +0x60c0a060, 0x81199881, 0x4f9ed14f, 0xdca37fdc, +0x22446622, 0x2a547e2a, 0x903bab90, 0x880b8388, +0x468cca46, 0xeec729ee, 0xb86bd3b8, 0x14283c14, +0xdea779de, 0x5ebce25e, 0x0b161d0b, 0xdbad76db, +0xe0db3be0, 0x32645632, 0x3a744e3a, 0x0a141e0a, +0x4992db49, 0x060c0a06, 0x24486c24, 0x5cb8e45c, +0xc29f5dc2, 0xd3bd6ed3, 0xac43efac, 0x62c4a662, +0x9139a891, 0x9531a495, 0xe4d337e4, 0x79f28b79, +0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d, +0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9, +0x6cd8b46c, 0x56acfa56, 0xf4f307f4, 0xeacf25ea, +0x65caaf65, 0x7af48e7a, 0xae47e9ae, 0x08101808, +0xba6fd5ba, 0x78f08878, 0x254a6f25, 0x2e5c722e, +0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6, +0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f, +0x4b96dd4b, 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a, +0x70e09070, 0x3e7c423e, 0xb571c4b5, 0x66ccaa66, +0x4890d848, 0x03060503, 0xf6f701f6, 0x0e1c120e, +0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9, +0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e, +0xe1d938e1, 0xf8eb13f8, 0x982bb398, 0x11223311, +0x69d2bb69, 0xd9a970d9, 0x8e07898e, 0x9433a794, +0x9b2db69b, 0x1e3c221e, 0x87159287, 0xe9c920e9, +0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf, +0x8c038f8c, 0xa159f8a1, 0x89098089, 0x0d1a170d, +0xbf65dabf, 0xe6d731e6, 0x4284c642, 0x68d0b868, +0x4182c341, 0x9929b099, 0x2d5a772d, 0x0f1e110f, +0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, 0x162c3a16 ]; + +var T4 = [ +0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b, +0xff0df2f2, 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5, +0x60503030, 0x02030101, 0xcea96767, 0x567d2b2b, +0xe719fefe, 0xb562d7d7, 0x4de6abab, 0xec9a7676, +0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d, +0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0, +0x41ecadad, 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf, +0x23bf9c9c, 0x53f7a4a4, 0xe4967272, 0x9b5bc0c0, +0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, 0x4c6a2626, +0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc, +0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1, +0xe2937171, 0xab73d8d8, 0x62533131, 0x2a3f1515, +0x080c0404, 0x9552c7c7, 0x46652323, 0x9d5ec3c3, +0x30281818, 0x37a19696, 0x0a0f0505, 0x2fb59a9a, +0x0e090707, 0x24361212, 0x1b9b8080, 0xdf3de2e2, +0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575, +0x121b0909, 0x1d9e8383, 0x58742c2c, 0x342e1a1a, +0x362d1b1b, 0xdcb26e6e, 0xb4ee5a5a, 0x5bfba0a0, +0xa4f65252, 0x764d3b3b, 0xb761d6d6, 0x7dceb3b3, +0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484, +0xa6f55353, 0xb968d1d1, 0x00000000, 0xc12ceded, +0x40602020, 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b, +0xd4be6a6a, 0x8d46cbcb, 0x67d9bebe, 0x724b3939, +0x94de4a4a, 0x98d44c4c, 0xb0e85858, 0x854acfcf, +0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb, +0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585, +0x8acf4545, 0xe910f9f9, 0x04060202, 0xfe817f7f, +0xa0f05050, 0x78443c3c, 0x25ba9f9f, 0x4be3a8a8, +0xa2f35151, 0x5dfea3a3, 0x80c04040, 0x058a8f8f, +0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5, +0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121, +0x20301010, 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2, +0x814ccdcd, 0x18140c0c, 0x26351313, 0xc32fecec, +0xbee15f5f, 0x35a29797, 0x88cc4444, 0x2e391717, +0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d, +0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373, +0xc0a06060, 0x19988181, 0x9ed14f4f, 0xa37fdcdc, +0x44662222, 0x547e2a2a, 0x3bab9090, 0x0b838888, +0x8cca4646, 0xc729eeee, 0x6bd3b8b8, 0x283c1414, +0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb, +0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a, +0x92db4949, 0x0c0a0606, 0x486c2424, 0xb8e45c5c, +0x9f5dc2c2, 0xbd6ed3d3, 0x43efacac, 0xc4a66262, +0x39a89191, 0x31a49595, 0xd337e4e4, 0xf28b7979, +0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d, +0x018c8d8d, 0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9, +0xd8b46c6c, 0xacfa5656, 0xf307f4f4, 0xcf25eaea, +0xcaaf6565, 0xf48e7a7a, 0x47e9aeae, 0x10180808, +0x6fd5baba, 0xf0887878, 0x4a6f2525, 0x5c722e2e, +0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6, +0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f, +0x96dd4b4b, 0x61dcbdbd, 0x0d868b8b, 0x0f858a8a, +0xe0907070, 0x7c423e3e, 0x71c4b5b5, 0xccaa6666, +0x90d84848, 0x06050303, 0xf701f6f6, 0x1c120e0e, +0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9, +0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e, +0xd938e1e1, 0xeb13f8f8, 0x2bb39898, 0x22331111, +0xd2bb6969, 0xa970d9d9, 0x07898e8e, 0x33a79494, +0x2db69b9b, 0x3c221e1e, 0x15928787, 0xc920e9e9, +0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf, +0x038f8c8c, 0x59f8a1a1, 0x09808989, 0x1a170d0d, +0x65dabfbf, 0xd731e6e6, 0x84c64242, 0xd0b86868, +0x82c34141, 0x29b09999, 0x5a772d2d, 0x1e110f0f, +0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, 0x2c3a1616 ]; + +function B0(x) { return (x&255); } +function B1(x) { return ((x>>8)&255); } +function B2(x) { return ((x>>16)&255); } +function B3(x) { return ((x>>24)&255); } + +function packBytes(octets) +{ + var i, j; + var len=octets.length; + var b=new Array(len/4); + + if (!octets || len % 4) return; + + for (i=0, j=0; j<len; j+= 4) + b[i++] = octets[j] | (octets[j+1]<<8) | (octets[j+2]<<16) | (octets[j+3]<<24); + + return b; +} + +function unpackBytes(packed) +{ + var j; + var i=0, l = packed.length; + var r = new Array(l*4); + + for (j=0; j<l; j++) + { + r[i++] = B0(packed[j]); + r[i++] = B1(packed[j]); + r[i++] = B2(packed[j]); + r[i++] = B3(packed[j]); + } + return r; +} + +// ------------------------------------------------ + +var maxkc=8; +var maxrk=14; + +function keyExpansion(key) +{ + var kc, i, j, r, t; + var rounds; + var keySched=new Array(maxrk+1); + var keylen=key.length; + var k=new Array(maxkc); + var tk=new Array(maxkc); + var rconpointer=0; + + if(keylen==16) + { + rounds=10; + kc=4; + } + else if(keylen==24) + { + rounds=12; + kc=6 + } + else if(keylen==32) + { + rounds=14; + kc=8 + } + else + { + alert('Invalid key length '+keylen); + return; + } + + for(i=0; i<maxrk+1; i++) keySched[i]=new Array(4); + + for(i=0,j=0; j<keylen; j++,i+=4) + k[j] = key.charCodeAt(i) | (key.charCodeAt(i+1)<<8) + | (key.charCodeAt(i+2)<<16) | (key.charCodeAt(i+3)<<24); + + for(j=kc-1; j>=0; j--) tk[j] = k[j]; + + r=0; + t=0; + for(j=0; (j<kc)&&(r<rounds+1); ) + { + for(; (j<kc)&&(t<4); j++,t++) + { + keySched[r][t]=tk[j]; + } + if(t==4) + { + r++; + t=0; + } + } + + while(r<rounds+1) + { + var temp = tk[kc-1]; + + tk[0] ^= S[B1(temp)] | (S[B2(temp)]<<8) | (S[B3(temp)]<<16) | (S[B0(temp)]<<24); + tk[0] ^= Rcon[rconpointer++]; + + if(kc != 8) + { + for(j=1; j<kc; j++) tk[j] ^= tk[j-1]; + } + else + { + for(j=1; j<kc/2; j++) tk[j] ^= tk[j-1]; + + temp = tk[kc/2-1]; + tk[kc/2] ^= S[B0(temp)] | (S[B1(temp)]<<8) | (S[B2(temp)]<<16) | (S[B3(temp)]<<24); + + for(j=kc/2+1; j<kc; j++) tk[j] ^= tk[j-1]; + } + + for(j=0; (j<kc)&&(r<rounds+1); ) + { + for(; (j<kc)&&(t<4); j++,t++) + { + keySched[r][t]=tk[j]; + } + if(t==4) + { + r++; + t=0; + } + } + } + this.rounds = rounds; + this.rk = keySched; + return this; +} + +function AESencrypt(block, ctx) +{ + var r; + var temp=new Array(4); + + var b = packBytes(block); + var rounds = ctx.rounds; + + for(r=0; r<rounds-1; r++) + { + temp[0] = b[0] ^ ctx.rk[r][0]; + temp[1] = b[1] ^ ctx.rk[r][1]; + temp[2] = b[2] ^ ctx.rk[r][2]; + temp[3] = b[3] ^ ctx.rk[r][3]; + + b[0] = T1[B0(temp[0])] ^ T2[B1(temp[1])] ^ T3[B2(temp[2])] ^ T4[B3(temp[3])]; + b[1] = T1[B0(temp[1])] ^ T2[B1(temp[2])] ^ T3[B2(temp[3])] ^ T4[B3(temp[0])]; + b[2] = T1[B0(temp[2])] ^ T2[B1(temp[3])] ^ T3[B2(temp[0])] ^ T4[B3(temp[1])]; + b[3] = T1[B0(temp[3])] ^ T2[B1(temp[0])] ^ T3[B2(temp[1])] ^ T4[B3(temp[2])]; + } + + // last round is special + r = rounds-1; + + temp[0] = b[0] ^ ctx.rk[r][0]; + temp[1] = b[1] ^ ctx.rk[r][1]; + temp[2] = b[2] ^ ctx.rk[r][2]; + temp[3] = b[3] ^ ctx.rk[r][3]; + + b[0] = B1(T1[B0(temp[0])]) | (B1(T1[B1(temp[1])])<<8) | (B1(T1[B2(temp[2])])<<16) | (B1(T1[B3(temp[3])])<<24); + b[1] = B1(T1[B0(temp[1])]) | (B1(T1[B1(temp[2])])<<8) | (B1(T1[B2(temp[3])])<<16) | (B1(T1[B3(temp[0])])<<24); + b[2] = B1(T1[B0(temp[2])]) | (B1(T1[B1(temp[3])])<<8) | (B1(T1[B2(temp[0])])<<16) | (B1(T1[B3(temp[1])])<<24); + b[3] = B1(T1[B0(temp[3])]) | (B1(T1[B1(temp[0])])<<8) | (B1(T1[B2(temp[1])])<<16) | (B1(T1[B3(temp[2])])<<24); + + b[0] ^= ctx.rk[rounds][0]; + b[1] ^= ctx.rk[rounds][1]; + b[2] ^= ctx.rk[rounds][2]; + b[3] ^= ctx.rk[rounds][3]; + + return unpackBytes(b); +} + diff --git a/wp-content/plugins/wp2pgpmail/js/base64.js b/wp-content/plugins/wp2pgpmail/js/base64.js new file mode 100644 index 000000000..ff09d698f --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/base64.js @@ -0,0 +1,83 @@ + +/* OpenPGP radix-64/base64 string encoding/decoding + * Copyright 2005 Herbert Hanewinkel, www.haneWIN.de + * version 1.0, check www.haneWIN.de for the latest version + + * This software is provided as-is, without express or implied warranty. + * Permission to use, copy, modify, distribute or sell this software, with or + * without fee, for any purpose and by any individual or organization, is hereby + * granted, provided that the above copyright notice and this paragraph appear + * in all copies. Distribution as a part of an application or binary must + * include the above copyright notice in the documentation and/or other materials + * provided with the application or distribution. + */ + +var b64s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + +function s2r(t) +{ + var a, c, n; + var r='', l=0, s=0; + var tl=t.length; + + for(n=0; n<tl; n++) + { + c=t.charCodeAt(n); + if(s == 0) + { + r+=b64s.charAt((c>>2)&63); + a=(c&3)<<4; + } + else if(s==1) + { + r+=b64s.charAt((a|(c>>4)&15)); + a=(c&15)<<2; + } + else if(s==2) + { + r+=b64s.charAt(a|((c>>6)&3)); + l+=1; + if((l%60)==0) r+="\n"; + r+=b64s.charAt(c&63); + } + l+=1; + if((l%60)==0) r+="\n"; + + s+=1; + if(s==3) s=0; + } + if(s>0) + { + r+=b64s.charAt(a); + l+=1; + if((l%60)==0) r+="\n"; + r+='='; + l+=1; + } + if(s==1) + { + if((l%60)==0) r+="\n"; + r+='='; + } + + return r; +} + +function r2s(t) +{ + var c, n; + var r='', s=0, a=0; + var tl=t.length; + + for(n=0; n<tl; n++) + { + c=b64s.indexOf(t.charAt(n)); + if(c >= 0) + { + if(s) r+=String.fromCharCode(a | (c>>(6-s))&255); + s=(s+2)&7; + a=(c<<s)&255; + } + } + return r; +} diff --git a/wp-content/plugins/wp2pgpmail/js/index.php b/wp-content/plugins/wp2pgpmail/js/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/js/mouse.js b/wp-content/plugins/wp2pgpmail/js/mouse.js new file mode 100644 index 000000000..2245d27c8 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/mouse.js @@ -0,0 +1,144 @@ + +/* Collect entropy from mouse motion and key press events + * Note that this is coded to work with either DOM2 or Internet Explorer + * style events. + * We don't use every successive mouse movement event. + * Instead, we use some bits from random() to determine how many + * subsequent mouse movements we ignore before capturing the next one. + * rc4 is used as a mixing function for the captured mouse events. + * + * mouse motion event code originally from John Walker + * key press timing code thanks to Nigel Johnstone + */ + +var oldKeyHandler; // For saving and restoring key press handler in IE4 +var keyRead = 0; +var keyNext = 0; +var keyArray = new Array(256); + +var mouseMoveSkip = 0; // Delay counter for mouse entropy collection +var oldMoveHandler; // For saving and restoring mouse move handler in IE4 +var mouseRead = 0; +var mouseNext = 0; +var mouseArray = new Array(256); + +// ---------------------------------------- + +var s=new Array(256); +var x, y; + +function rc4Init() +{ + var i, t; + var key = new Array(256); + + for(i=0; i<256; i++) + { + s[i]=i; + key[i] = randomByte()^timeByte(); + } + + y=0; + for(i=0; i<2; i++) + { + for(x=0; x<256; x++) + { + y=(key[i] + s[x] + y) % 256; + t=s[x]; s[x]=s[y]; s[y]=t; + } + } + x=0; + y=0; +} + +function rc4Next(b) +{ + var t, x2; + + x=(x+1) & 255; + y=(s[x] + y) & 255; + t=s[x]; s[x]=s[y]; s[y]=t; + return (b ^ s[(s[x] + s[y]) % 256]) & 255; +} + +// ---------------------------------------- + +function keyByte() { return keyArray[(keyRead++)%keyNext]; } +function keyPressEntropy(e) { keyArray[(keyNext++)%256] ^= timeByte(); } + +function mouseByte() { return mouseArray[(mouseRead++)%mouseNext]; } +function mouseMoveEntropy(e) +{ + var c; + + if (!e) { e = window.event; } // Internet Explorer event model + + if(mouseMoveSkip-- <= 0) + { + if(oldMoveHandler) { c = ((e.clientX << 4) | (e.clientY & 15)); } + else { c = ((e.screenX << 4) | (e.screenY & 15)); } + + mouseArray[(mouseNext++)%256] ^= rc4Next(c&255); + mouseArray[(mouseNext++)%256] ^= rc4Next(timeByte()); + mouseMoveSkip = randomByte() & 7; + } +} + +// ---------------------------------------- + +function eventsEnd() +{ + if(document.removeEventListener) + { + document.removeEventListener("mousemove", mouseMoveEntropy, false); + document.removeEventListener("keypress", keyPressEntropy, false); + } + else if(document.detachEvent) + { + document.detachEvent("onmousemove", mouseMoveEntropy); + document.detachEvent("onkeypress", keyPressEntropy); + } + else if(document.releaseEvents) + { + document.releaseEvents(EVENT.MOUSEMOVE); document.onMousemove = 0; + document.releaseEvents(EVENT.KEYPRESS); document.onKeypress = 0; + } + else + { + document.onMousemove = oldMoveHandler; + document.onKeypress = oldKeyHandler; + } +} + +// Start collection of entropy. + +function eventsCollect() +{ + if((document.implementation.hasFeature("Events", "2.0")) + && document.addEventListener) // Document Object Model (DOM) 2 events + { + document.addEventListener("mousemove", mouseMoveEntropy, false); + document.addEventListener("keypress", keyPressEntropy, false); + } + else if(document.attachEvent) // IE 5 and above event model + { + document.attachEvent("onmousemove", mouseMoveEntropy); + document.attachEvent("onkeypress", keyPressEntropy); + } + else if(document.captureEvents) // Netscape 4.0 + { + document.captureEvents(Event.MOUSEMOVE); + document.onMousemove = mouseMoveEntropy; + document.captureEvents(Event.KEYPRESS); + document.onMousemove = keyPressEntropy; + } + else // IE 4 event model + { + oldMoveHandler = document.onmousemove; + document.onMousemove = mouseMoveEntropy; + oldKeyHandler = document.onkeypress; + document.onKeypress = keyPressEntropy; + } + + rc4Init(); +} diff --git a/wp-content/plugins/wp2pgpmail/js/rsa.js b/wp-content/plugins/wp2pgpmail/js/rsa.js new file mode 100644 index 000000000..add81f723 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/rsa.js @@ -0,0 +1,394 @@ + +/* RSA public key encryption/decryption + * The following functions are (c) 2000 by John M Hanna and are + * released under the terms of the Gnu Public License. + * You must freely redistribute them with their source -- see the + * GPL for details. + * -- Latest version found at http://sourceforge.net/projects/shop-js + * + * GnuPG multi precision integer (mpi) conversion added + * 2004 by Herbert Hanewinkel, www.haneWIN.de + */ + +// --- Arbitrary Precision Math --- +// badd(a,b), bsub(a,b), bmul(a,b) +// bdiv(a,b), bmod(a,b), bmodexp(xx,y,m) + +// set the base... 32bit cpu -> bs=16, 64bit -> bs=32 +// bs is the shift, bm is the mask + +var bs=28; +var bx2=1<<bs, bm=bx2-1, bx=bx2>>1, bd=bs>>1, bdm=(1<<bd)-1; + +var log2=Math.log(2); + +function badd(a,b) // binary add +{ + var al=a.length, bl=b.length; + + if(al < bl) return badd(b,a); + + var r=new Array(al); + var c=0, n=0; + + for(; n<bl; n++) + { + c+=a[n]+b[n]; + r[n]=c & bm; + c>>>=bs; + } + for(; n<al; n++) + { + c+=a[n]; + r[n]=c & bm; + c>>>=bs; + } + if(c) r[n]=c; + return r; +} + +function bsub(a,b) // binary subtract +{ + var al=a.length, bl=b.length; + + if(bl > al) return []; + if(bl == al) + { + if(b[bl-1] > a[bl-1]) return []; + if(bl==1) return [a[0]-b[0]]; + } + + var r=new Array(al); + var c=0; + + for(var n=0; n<bl; n++) + { + c+=a[n]-b[n]; + r[n]=c & bm; + c>>=bs; + } + for(;n<al; n++) + { + c+=a[n]; + r[n]=c & bm; + c>>=bs; + } + if(c) return []; + + if(r[n-1]) return r; + while(n>1 && r[n-1]==0) n--; + return r.slice(0,n); +} + +function zeros(n) +{ + var r=new Array(n); + + while(n-->0) r[n]=0; + return r; +} + +function bmul(a,b) // binary multiply +{ + b=b.concat([0]); + var al=a.length, bl=b.length; + var n,nn,aa,c,m, g,gg,h,hh,ghh,ghhb; + + var r=zeros(al+bl+1); + + for(n=0; n<al; n++) + { + aa=a[n]; + if(aa) + { + c=0; + hh=aa>>bd; h=aa & bdm; + m=n; + for(nn=0; nn<bl; nn++, m++) + { + g = b[nn]; gg=g>>bd; g=g & bdm; + // (gg*2^15 + g) * (hh*2^15 + h) = (gghh*2^30 + (ghh+hgg)*2^15 +hg) + ghh = g * hh + h * gg; + ghhb= ghh >> bd; ghh &= bdm; + c += r[m] + h * g + (ghh << bd); + r[m] = c & bm; + c = (c >> bs) + gg * hh + ghhb; + } + } + } + n=r.length; + + if(r[n-1]) return r; + while(n>1 && r[n-1]==0) n--; + return r.slice(0,n); +} + +function toppart(x,start,len) +{ + var n=0; + while(start >= 0 && len-->0) n=n*bx2+x[start--]; + return n; +} + +// ---------------------------------------------------- +// 14.20 Algorithm Multiple-precision division from HAC + +function bdiv(x,y) +{ + var n=x.length-1, t=y.length-1, nmt=n-t; + + // trivial cases; x < y + if(n < t || n==t && (x[n]<y[n] || n>0 && x[n]==y[n] && x[n-1]<y[n-1])) + { + this.q=[0]; this.mod=x; + return this; + } + + // trivial cases; q < 4 + if(n==t && toppart(x,t,2)/toppart(y,t,2) <4) + { + var qq=0, xx; + for(;;) + { + xx=bsub(x,y); + if(xx.length==0) break; + x=xx; qq++; + } + this.q=[qq]; this.mod=x; + return this; + } + + var shift, shift2 + // normalize + shift2=Math.floor(Math.log(y[t])/log2)+1; + shift=bs-shift2; + if(shift) + { + x=x.concat(); y=y.concat() + for(i=t; i>0; i--) y[i]=((y[i]<<shift) & bm) | (y[i-1] >> shift2); + y[0]=(y[0]<<shift) & bm; + if(x[n] & ((bm <<shift2) & bm)) + { + x[++n]=0; nmt++; + } + for(i=n; i>0; i--) x[i]=((x[i]<<shift) & bm) | (x[i-1] >> shift2); + x[0]=(x[0]<<shift) & bm; + } + + var i, j, x2; + var q=zeros(nmt+1); + var y2=zeros(nmt).concat(y); + for(;;) + { + x2=bsub(x,y2); + if(x2.length==0) break; + q[nmt]++; + x=x2; + } + + var yt=y[t], top=toppart(y,t,2) + for(i=n; i>t; i--) + { + var m=i-t-1; + if(i >= x.length) q[m]=1; + else if(x[i] == yt) q[m]=bm; + else q[m]=Math.floor(toppart(x,i,2)/yt); + + var topx=toppart(x,i,3); + while(q[m] * top > topx) q[m]--; + + //x-=q[m]*y*b^m + y2=y2.slice(1); + x2=bsub(x,bmul([q[m]],y2)); + if(x2.length==0) + { + q[m]--; + x2=bsub(x,bmul([q[m]],y2)); + } + x=x2; + } + // de-normalize + if(shift) + { + for(i=0; i<x.length-1; i++) x[i]=(x[i]>>shift) | ((x[i+1] << shift2) & bm); + x[x.length-1]>>=shift; + } + n = q.length; + while(n > 1 && q[n-1]==0) n--; + this.q=q.slice(0,n); + n = x.length; + while(n > 1 && x[n-1]==0) n--; + this.mod=x.slice(0,n); + return this; +} + +function simplemod(i,m) // returns the mod where m < 2^bd +{ + var c=0, v; + for(var n=i.length-1; n>=0; n--) + { + v=i[n]; + c=((v >> bd) + (c<<bd)) % m; + c=((v & bdm) + (c<<bd)) % m; + } + return c; +} + +function bmod(p,m) // binary modulo +{ + if(m.length==1) + { + if(p.length==1) return [p[0] % m[0]]; + if(m[0] < bdm) return [simplemod(p,m[0])]; + } + + var r=bdiv(p,m); + return r.mod; +} + +// ------------------------------------------------------ +// Barrett's modular reduction from HAC, 14.42, CRC Press + +function bmod2(x,m,mu) +{ + var xl=x.length - (m.length << 1); + if(xl > 0) return bmod2(x.slice(0,xl).concat(bmod2(x.slice(xl),m,mu)),m,mu); + + var ml1=m.length+1, ml2=m.length-1,rr; + //var q1=x.slice(ml2) + //var q2=bmul(q1,mu) + var q3=bmul(x.slice(ml2),mu).slice(ml1); + var r1=x.slice(0,ml1); + var r2=bmul(q3,m).slice(0,ml1); + var r=bsub(r1,r2); + //var s=('x='+x+'\nm='+m+'\nmu='+mu+'\nq1='+q1+'\nq2='+q2+'\nq3='+q3+'\nr1='+r1+'\nr2='+r2+'\nr='+r); + if(r.length==0) + { + r1[ml1]=1; + r=bsub(r1,r2); + } + for(var n=0;;n++) + { + rr=bsub(r,m); + if(rr.length==0) break; + r=rr; + if(n>=3) return bmod2(r,m,mu); + } + return r; +} + +function bmodexp(xx,y,m) // binary modular exponentiation +{ + var r=[1], an,a, x=xx.concat(); + var n=m.length*2; + var mu=new Array(n+1); + + mu[n--]=1; + for(; n>=0; n--) mu[n]=0; mu=bdiv(mu,m).q; + + for(n=0; n<y.length; n++) + { + for(a=1, an=0; an<bs; an++, a<<=1) + { + if(y[n] & a) r=bmod2(bmul(r,x),m,mu); + x=bmod2(bmul(x,x),m,mu); + } + } + return r; +} + +// ----------------------------------------------------- +// Compute s**e mod m for RSA public key operation + +function RSAencrypt(s, e, m) { return bmodexp(s,e,m); } + +// Compute m**d mod p*q for RSA private key operations. + +function RSAdecrypt(m, d, p, q, u) +{ + var xp = bmodexp(bmod(m,p), bmod(d,bsub(p,[1])), p); + var xq = bmodexp(bmod(m,q), bmod(d,bsub(q,[1])), q); + + var t=bsub(xq,xp); + if(t.length==0) + { + t=bsub(xp,xq); + t=bmod(bmul(t, u), q); + t=bsub(q,t); + } + else + { + t=bmod(bmul(t, u), q); + } + return badd(bmul(t,p), xp); +} + +// ----------------------------------------------------------------- +// conversion functions: num array <-> multi precision integer (mpi) +// mpi: 2 octets with length in bits + octets in big endian order + +function mpi2b(s) +{ + var bn=1, r=[0], rn=0, sb=256; + var c, sn=s.length; + if(sn < 2) + { + alert('string too short, not a MPI'); + return 0; + } + + var len=(sn-2)*8; + var bits=s.charCodeAt(0)*256+s.charCodeAt(1); + if(bits > len || bits < len-8) + { + alert('not a MPI, bits='+bits+",len="+len); + return 0; + } + + for(var n=0; n<len; n++) + { + if((sb<<=1) > 255) + { + sb=1; c=s.charCodeAt(--sn); + } + if(bn > bm) + { + bn=1; + r[++rn]=0; + } + if(c & sb) r[rn]|=bn; + bn<<=1; + } + return r; +} + +function b2mpi(b) +{ + var bn=1, bc=0, r=[0], rb=1, rn=0; + var bits=b.length*bs; + var n, rr=''; + + for(n=0; n<bits; n++) + { + if(b[bc] & bn) r[rn]|=rb; + if((rb<<=1) > 255) + { + rb=1; r[++rn]=0; + } + if((bn<<=1) > bm) + { + bn=1; bc++; + } + } + + while(rn && r[rn]==0) rn--; + + bn=256; + for(bits=8; bits>0; bits--) if(r[rn] & (bn>>=1)) break; + bits+=rn*8; + + rr+=String.fromCharCode(bits/256)+String.fromCharCode(bits%256); + if(bits) for(n=rn; n>=0; n--) rr+=String.fromCharCode(r[n]); + return rr; +} + diff --git a/wp-content/plugins/wp2pgpmail/js/sha1.js b/wp-content/plugins/wp2pgpmail/js/sha1.js new file mode 100644 index 000000000..0b38ede7f --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/js/sha1.js @@ -0,0 +1,202 @@ +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined + * in FIPS PUB 180-1 + * Version 2.1 Copyright Paul Johnston 2000 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for details. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ +var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));} +function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));} +function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));} +function hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));} +function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));} +function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));} + +/* + * Perform a simple self-test to see if the VM is working + */ +function sha1_vm_test() +{ + return hex_sha1("abc") == "a9993e364706816aba3e25717850c26c9cd0d89d"; +} + +/* + * Calculate the SHA-1 of an array of big-endian words, and a bit length + */ +function core_sha1(x, len) +{ + /* append padding */ + x[len >> 5] |= 0x80 << (24 - len % 32); + x[((len + 64 >> 9) << 4) + 15] = len; + + var w = Array(80); + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + var e = -1009589776; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + var olde = e; + + for(var j = 0; j < 80; j++) + { + if(j < 16) w[j] = x[i + j]; + else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); + var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), + safe_add(safe_add(e, w[j]), sha1_kt(j))); + e = d; + d = c; + c = rol(b, 30); + b = a; + a = t; + } + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + e = safe_add(e, olde); + } + return Array(a, b, c, d, e); + +} + +/* + * Perform the appropriate triplet combination function for the current + * iteration + */ +function sha1_ft(t, b, c, d) +{ + if(t < 20) return (b & c) | ((~b) & d); + if(t < 40) return b ^ c ^ d; + if(t < 60) return (b & c) | (b & d) | (c & d); + return b ^ c ^ d; +} + +/* + * Determine the appropriate additive constant for the current iteration + */ +function sha1_kt(t) +{ + return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : + (t < 60) ? -1894007588 : -899497514; +} + +/* + * Calculate the HMAC-SHA1 of a key and some data + */ +function core_hmac_sha1(key, data) +{ + var bkey = str2binb(key); + if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz); + return core_sha1(opad.concat(hash), 512 + 160); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* + * Convert an 8-bit or 16-bit string to an array of big-endian words + * In 8-bit function, characters >255 have their hi-byte silently ignored. + */ +function str2binb(str) +{ + var bin = Array(); + var mask = (1 << chrsz) - 1; + for(var i = 0; i < str.length * chrsz; i += chrsz) + bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i%32); + return bin; +} + +/* + * Convert an array of big-endian words to a string + */ +function binb2str(bin) +{ + var str = ""; + var mask = (1 << chrsz) - 1; + for(var i = 0; i < bin.length * 32; i += chrsz) + str += String.fromCharCode((bin[i>>5] >>> (24 - i%32)) & mask); + return str; +} + +/* + * Convert an array of big-endian words to a hex string. + */ +function binb2hex(binarray) +{ + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF); + } + return str; +} + +/* + * Convert an array of big-endian words to a base-64 string + */ +function binb2b64(binarray) +{ + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i += 3) + { + var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16) + | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 ) + | ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; + else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); + } + } + return str; +} diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/AHGBold.ttf b/wp-content/plugins/wp2pgpmail/phpcaptcha/AHGBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..764b23d76ff19a9ea15f8abd10c4725d2ad03b67 GIT binary patch literal 144556 zcmZQzWME(rVPs%nVQ_E{@DF}A>AgM!ll~e81|~iC;83S7&$cHFOon$D7?>{jgamuM zm-(8<z`z#4z`!WrAFOX=^q>190|Vm;1_p+NFc;s5qN>Ut3=HfU3=FIfl5-Oa7;2_v zGBBuJU|?XAOD-!>U=U$oU|`Tcz`(%3lva?QTlHFL1_Oi62L=YFW9f;-1q|X0oD59* za~K#H1k!UV(@srd;AddaKf=KH=}AUPZp9Oph64-?ydDe;k{ubTi778VwoPMTVDw>N zU@*(bNKIth%p%Ibz}UjTz@U<mTT&tUkN*b)1Cs^=1B*d+YEd4a8-D-;lgbeW2Bx^2 z{N%*=)+d`7n3Ps9Ffd8wCRP+MYqP9oU|?Lqz`&r8mzbM6JM>)v1CzQ60|TpXL4I+G z!~UHY7?^ZQ7#Nt<3W`z-3K+P;7#Q?-FfcH1fWwlJfkCiT>q0!g%~wWA<`*E}9_G7~ z0H)oi#r^C5ugqe~e4c?3<WG<&0|Q7O^ZEbk46-cM|N8%@v6zBHpmJb}kq0Eg$ivvp zz|IiPz{J1=78YRuF^@4YGB7eQGu~s`!@$bGz;K4)3<CqB9Go^{_ytnO!OXzGz{$YU zz`&3W)(s^T6ciK~6c{*uGclk4uf|}>e4gQ^0t2I<1IS_jnNER1f`N(g3xg3z1EUxN z0|;Yb+cBPJ2w~D;P-N0!U}1j2;K8((L6K36A&gOj!GuwRft7JOgEUhFgCV0BgDvB9 z22(Iy%)r2;!yv+>!{EiF!yv|_!ywG0!@v&}1Bt6c`NClJVhpxS5e#}v5ex=Q5e&La zIt)t83JfYtYZ+LW4luYfJ!Md1ddlF!)WP7&6v*Jh^qoPK=_!L7qdJ2#*qlpXaaZPU z1~-s6GZ%vz(`*J8Fnx)^g{hN4k|~*ikLf9c6H^%j6Y~ZJHm2DO+)T3>SeQB(#29@U zTp5f1|7Y}NU}TD5@M8S({~sgs|Cda54Dw9L3}#Gr4601Y42n#446=;A|Nk>3GpI2I zGMF+lF<3E*{eQ<~$KV8FGj}mqGX*l3F(osoFeNjXG9@#}Gqy6AF-bBgGA1x^faN$C zc$oDVc$p*__?g%ln3>oaL>Ybm|75t&V8!Umz`zv2;12dT$nPM3gZ%uI!42#eko!Sy z!j4rz?nB0mObphHO#fdnGW~zb$n^gP*nWuHK<-0ekeiXQ4ub^a1O{Vhe1YPRhw&?e zJ5vq=GgC5y1+xN!0J8#vAoB|bJ4R*(Cr0M~H<(lzc$lv;Ffem5s4|^okOjx3Dg!r@ zDg!4d?Jxy0m@~d(P+&UAAjxdbV9xlHfuB+6|9{2^1|G(I23}?c1{LOR26b@Q=`hHH z(goBEBPJaNMkZATA*K`tF~&U%nv8oGw3uHoM1s;REUZA`!{W-I#5|8djq%I>|I9BK zni$VBm@%FQr%4w^F$O1aI(^3=0}l7u3@i-G|EDqOFi0|dWYA*x$e_WL42s+T|CvDk z7h^DI6k~7(>1U~Ca0c50iVIM@faneeS5W$6RR8~jQT_ibM)m)HKyCnIF$O~r4Nh;M zIC~0CAJ&Y_|DQ54|G&h@{Qm?a^Z&by%;4~2W@Kg%V`Tn+ospS=lacxVGiC+`RVEz< zDW<^x-x-<y|75OY&|t1%kYwy&@CBt$rr8Xx4EGr<nVvE*F;_B3g8apl3=TUJ#tsHq z#tsGvaGHmvZ&3OJ`<b0Vl!4*j3kHV&jtmU{o-i={yU4)s?>Ga)zdH;J|7{r<{#|Ea z_|L?^@b4M}!@s8t4F5$L82)oGF#PKWl?@CGj65lf5a5yup}~|3qYEP=BbdqP0%Ahs zKw=^KjEt!e8K?qA##o57K1e>6kuers9wMCzR}bOCEJ#g7Ru45Aq$Je^p~D4g2b2Q2 z0nTL9)&|*Z4bsCH5)u*uV!#araX>gW6~!YUA;uIG0IFpf8Nd<@JPbcL{xfheaQy$r zz{$Y*{~rSv1K0n*4BQOd|Nk=ZF!22U%fQRP`~NQk9|Pb2KMec~{Qv(j2rvlz|HB~2 zAo%|egAjwz|33`E48s3^Gl(#V{Qu1$${_mxH-i|1*#F-Q;tb;de=|rhNc{iBAju&4 z{}+Q4gVg_D4AKnJ|9>&aFv$G>$so%h`~N3{9E05dpA7O0^8bG_C@?7e|H+`pp!oj> zgA#+%{~rv>49fq1FsLx7{QtqA%AorHJA)d7+W+qi>I~}tzcXlnNlgZg|KAz37&QNX zW6);M`u~kVhe7-QHwIk>o&Vn$^cZyie`C;R(EI<D!GJ;k|5pY>27~`!8H^YV|9@pL zW-$8yg~5cu`2QCMQwEd&Ul`07O#gpjFlR9P|AoPV!TkSc21^Eu|DPGG7%cyPX0T?k z`u~~1hQa#(Ck9&voBy8}>=<nSe`2s_u>1ds!GXd4|0f1V28aJ28Jrj#|9@m~W^nrd zk->$*`Ts`-R|c2=9~s;jT>pPyaA$D)|AE1S!TtXS22Tc${~s8<7(D;KXYgk5`v0E6 zhr#>*dj?+ypa1U}{1|-yzi04g@caLcAplGUGWh?0#}LF2@c$h{Fhk(~w+tZ+LI2+} zgfayGf6EZY5c2;mLpVd||F;Yg3}OG@Fhnwh|9`^}#SroT4MQ|T<o`DeF$_`v-!Q~7 zME`%y5XTVn|20EAL+t<83<(Tz|6emCGQ|IX#gN31@c$J<GDG73R}3i(N&jClq%tJ` zf5ni-kn;Z}Lpnq1|CbCI3~B#gGGsEO|9{Dl#gOs;1w%GN=KmKAISg6<Uohk{WdDD` zkjIeo{{=%nL+=0Q3<V5%|DQ7yGUWe%&QQcq@c%hOF+<`1=L{tbMgN~Mlrj|mf5uS8 zQ1bs7Lpej~|7Q#p45j~{GE_2@{eQ|(#ZdnLDMK|w#s8-aH4K&ipEA@kRQ-R#P{&aH z{|Q4qL(Tsu3=Ism|DP~4GSvNl!qCJ}|Nk*VGeg7w#|$kDjsG7rv@$gPf6UOv(ER@q zLpwvu|3?fR46XkkF?2Gt{eQ&J#nAr$5koga$Nz^6Jq(@yA2ReZbp3zG(8tjI{~<#^ zL(l&Q3=<f7|36@u$k6xy0mCGQ{{IgcCNoU<|A1i%!^Hph8KyE!`hTBc8pGuO_Zg-$ zO!<GGVFtt0|MwYYGEDn_k6{+W^#Au5W;4wAe~)1f!_5Ep80Ip}`hS;U9>eVacNyk0 z%=v$pVF8$2$T0W+U4}&r^ZwsqSj;g0{~d-U3=96>VOYwr@c$i#Wekh{-)30Ou=xLN zh7}A;{@-R;$*}bQZH840%l_YHSk18f|1E|!3@iTMVpz+t^8YP{bquTi-(pzLu=@Wk zh7AmB{@-NS$guYRO@>Vj>;B(l*vzp0|4oK13>*I6VA#sA@&65mZ48_K-(c9zu=)QD zh8+xB{@-BO$*}eRb%tFG+x}l?*v+v0|8<5v3_Jc`XV}ZI^Zzx5eGI$)Ut`$Mu>1ct zh64<H{$FD_$gubSHHJeB`~F{LILxsB|5b(~3<v&SWjM-k@c&hYV+@D>Uu8JXaQOcf zh7(}&B*T&aR~Sw)9Q}WV;WWds|CbrgFdYAXnc*zMiT{@w&M}<)f0^Mt!>Rw587?rK z{(p(#BEy;gml!TFoc(`^;WERy|Cbo9Fr5E?k>M)Ch5r{Bt}$Hvf05xj!=?Wh8E!CK z{(q6-Cc~Bg7Z`3aT>XE6;Wopy{}&kUFkJtCf#EL0jsF)I?lIi_f1cq!!>#}486Gg) z{(qj~A;X>j=NTR`-2H!!;W5L#|K}K<Fx>xtj^Qc8ga79ko-sW9e~#ff!=wLa8D20v z{(qL?CBu{dXBl2GJpF%`;Wfjv|7RKAFg*W%hT$#4i~naB-Z8xVe}>^b!>j*i7(Ot( z`hS|?Bg5<erx`vmy!n5c;WNYA|EC$gFuePJn&B(M`~RmHzA=3Ge~RHd!^i)p7=AE( z`hSYyC&TCeCmDV*eEENp;WxwA|0fy#Fns%elHo7I_x~pu{xSUce}dsZ!_WVq{*MHx zPsGj3#=y)BLM*IoY}_2o%q%SI%q%P{>})W=!otqZ&c?~X!NI}K&cVsT#=*|b$;r;i z!OqUf&c)8o4pz;~#?Hph#=_3d%*@6N5@ly$V_|3GWMgAvVPatiY3Aev@nFU>Gcz-@ z!vPx$NSvLWlarg7nT?y117ttQIyPn&77i|u$!u(F?5wQZ%p4q?JX~ztY-}vd?5u3; zOl-`|92{)S%xt_I>>Oa%uy8^E$O<UtU}I<I;$mTEXW{@k4&o;^Hb~WvMDp+<!h@Zi zhl81gg_WI|m4$@^?o_Z|b}kMMPEHPXPEHnfPEdG2cpTgu92}7FU}tCNU}s_HU}0uw z;Q{GpWn<xB;{t^TGblVbIXF2%PJx*Vawtd{J1DF;*jYh=&d$!o#ly_Z&cn$GQU<aP z6ds)1?ChXOVP|J$<pG5UFE<+xI6T<cIGET$;Q@*UK2Vf_T!SS%IN8}*xVc!_Iha9) zv9q#raB#3;2@hU=b_Ny}Fk)k8=jCK!VPWN9VP#>3I2Gh778X$Ca&dBUadB{f!kCkT zhl`7oi<5(ci-U)glY@nom4ls`9TYn(pwIz@2L}fSD?2L(J2xo(FtdQdf`f|-BRs%9 z01@EuU<aAc%goHq%LPh(>>M1N-0UnYtXw=C?BEFEU}NKD;pF7v<6-AzV`E|AU}NWm zh6f7^8$TxpC&+#l7A^<?1vwORv2(C+bF*@AGIQ~O+{VfQwgD++K$!f39N@rUVF1M; zKNkxND;p;Z8w)spfb$3k3n;ibc(}N^xw$yGxmh^4IeEExxOhN3PChO!E><>HP7aVF zPEJ-%P8JqU7CumVW#eGw<N#aF%*x5d#m&Xd!wnLLVip##!B8Ft8z@w`IC*&ZSy(vu zdALD#b8>R?aImnl@$iAn=iuPrWM}7N;o{;E;N##2<qS@C4lZV}136e&*ag9%05X?{ zhlhuon;XQ0Vjd1o7G7R9PA+C{UU0tU0>v%|BoL5D0bxXVaB>Q8v#_$VbFr|qutD9) z3GyHp7Z)clH#ZLt7bg!l3nvdJA2$z($HmRX&&>@A4=xTCPEe9z<${I>7Z(>BCmSaR zFDC~FD+?<ZH#ZL#HxCcOR8UG};RO2tEC{lYgNuuoSAd0uQvej$AYpDk4i+{x9)2!P z7A{V3e&c81=H?OP=MVse2NwqiH!~+FJ#ezHunTi@adUBj0)U5y7d<>UIa&Dl*|@k_ zctBCe#>T}BO5jK#0bvS?a5Av6f)NKNryvh2C_Gr%S=m6=gIvVP$;t`}4?Z3qUS4i4 zUS3vC9xi?!UT$6<ZZ2MK0d8(?Ha1W&fW5}X#l^zP#R9UDi=C5=ixZSm*jU)OczAfZ zd3brjiXa5Y-4GUt<YWg~#>K_QC&<FWDagwMvY(5KhmVt$jg6O|i<1>Bz`-HJ%EQAe zEWjzq!NJ1H#lZ;+4^~zV5gu+HZf;gqR#sjJ09gUWyqsJt`~vJ;+$_BO;C#!?4N9z# zKtLje#kjzM!OFnO$;~ay%gV;a!OhCS%FYc3tgIj=KQAvI9}hPlA1fChw;&%sFFzj- z4<C;ZFE0-pI~z9_D=5iuv+?k-vU0Nuf)Xq{7dsCZ$Z|FoHf~;CJ{~@PK9EUJ401O} z83c24fU+YG4?n*!D=U{UKOZ+27dH<Vp8yvtJ3GH14>v0)@_9Hogjsoc`9+1egh3I- z&B?{f%+1Qm!^6$W$|=Un!wa&Xm6e~LpP!G94`c-t^K)~v3JS7w^Rn;>a`W)8v-9xs zaB*=Vg#?5tD#6Xb#s)&HTs%CYd~9rNoV;wDtQ;U`a)SsSaB%Yo^6?7@@bL)nvvc$F z2=fc@3Gnmr^7D%D@$s>9u=8@W@_<~!&dbBf#=|Pi!^_Ld!OhOYEy&Hy&Cbfs%f~0c z$1lJKHV{I9912p#%M0d%Eac|p6%-U@W#thS;0KFx^9ymav2zFr^YXBQRPl0hin8(X z35W}Gi-O86UM_Av7O(?(*x0xv_&@+u1qcWT3h?vugRFpJ0UjP!VIdA)K2`x?klQ%; z_&|{Z2?QikLWYNdogIYOczAgw1lZZxx%k+**f>Ecjt@leva#{;@$m`^2nq=a@CgaA z^9k~a2?+}b3kvWH@rw%x2yk$6@bR$mfntP%pO1~5k4==1pP!$TmxGT-gqMehgO!6% zKtM=9NLU!;U?>K)H$ck3G0Dfv#mmdf!^bZyEWyUcD<LchvYU@rP=tq_gHuS1pO+0J zz|YMs!7d;mEG5Px0jjL{cz6U@zz*bPXXla;00B^V2n!1f3keB<tbk%6UOqNaF-|@K zRw0n%I5`Cb1bBIPkU|2&l$PgX;NSow9)5mlVGa%sZUGK%4lYoVgJ2F00RaJiF=1g5 z5g`Fl5e|M40Z9>2AyE+_K@mYoAt517E=~bHb^$>F0Rc`yL3R!Sb}2zYK|yYQE<rvq zem*`<HckOyVG$t_Q4x@Xp%~<DkTMA7=LRKlK|wJwX?AvgDN$ii{0i_1i}A5@a*0ZS z3Q&H2enB1{DGp&_Q8`IIX&xR94gp?1Ay$5Nc0oaY4h|l9VIg55Ay7RfDk>@}A|e8^ z0*XcX1vn%mxdnvSL?i?R1-ZF}goOC{_#lCRM9M1ig9C$ufs;=_Kvsl<laoh~gNKtF z>S~Z5IRym;1;j-}L`8)K#Y8y;L<OZp#f8O1g@wd~q=kirxwyFm`8foI1cd~-K<*Lb zkP;FS65<x%65^K-;OFOJ;}R4R5fv5{7lU{nOoAK=QU<{SJfJ`q5)v1e<=_yI5f=r8 zt`NVd1V0BCx0sZW04G?0msgHML_}OcnqQWWkAp*yk6)NofSp}PNPvTbPf<izL|7P9 zE{ltci;Ibgfm?c@@ZsPP6A<K(l;Rc?W)qbX6cXa*78V8tIZ{YKm<p-_44j-`#4jYI zAjZkb#VgFo%gF<ACWz$Z1f@PHF>whAQDF%QP9bq&SqVu|NpVpT2@yF_QBiIlE@1%< zArT=FA#M?24o)Es8DS9-5gtKqVL?zz;b!L+788>Ym5>w%nFqxncY>6Oh=5Z!uaJ<C zfQX2clmZ8bki4WgD7^~{ic1M_a`Q;aiU@In1Vs4w6gb7iB$ed^6!`f$IE4iSMOlS7 zIE00TI63)M#YDwKMM2>qDJdx_AtAwm0Fpw&oU$^!!lLXFAjk3Yii(N~3JO930f|&p z69fkaCj%$HkdUG{Cl?p52q-*2)`PH+5GSXIh=`DsI4C?sBqcb7Bt+ySq{O5oL`5V- z<;BEAxp}xn1UZF8ghhq9MMO9`g*oL#L_|b*g?K~+rG*3qx!Jiz#Kk2<C8Q)kUWa0k zyFtnzSO^pzf}rqF<m41mkdhD)5)u*-l#mt#g@>Go5GPoGpI?zvTwF>;UQkg$fRj^1 zKv0ZLh=W5^REU#PKuug!91<Q<Qc_Y95)vRQpjc8!gi}_IS450mLKfsUUQsboAuQpc zswK?8#RW!!qN1vjT-@CJVqE-Od?KJc2*zAoVq#*Va*|Tg(h_1aGTfrlVoK7olCshg z;xgjOl9CcUe7s`9T%sV?@Q90Xa*1*(iiwMh^NH|^3CoEH3-fUBh)GIHOGwMgfDMEY zpjHP+88~H&iSmnziVBO1%gL#7afztNN{NYxh>8hI$q94u^2sQPi*kvHh>C~{2&i&N zO3G>|39AYUa&w6Z2}`nxa&n4^iE?oXYDr2+N=SgJb6HtgSs57_kQGoYBPzzJsK_rS z$srAL96!H=q=bmDFjC5ZFtrRt8F+ZWNLXB4OO}U+M^KVSkVgQN1tma)I1i7cq@=i# ztem{Ow4{OpuY{bWn!KWnqMWppf|Q1gj5MDBpQI?agp`Do1fP^77moy&nxvGJlz=$D zq?nSpm>3@?pQNm;ytKTcf&>D9+znDDB?U^|;)3Gh;-XSgN=jPX+~S&wa+2cW;*z3r zN}@b`{0eGP;yfS$DPdtP9$8sMJ#|qnVPPH~Nl`Hwc5yB)Nl9@Y9$`aSX<2D$P@Sl# zsHmu*pa8N0iWS5qxzyAIBxN||RVAgQ1O%jIq{YR=Ac25H>Y0c$@bZF@sFakR0xuu0 zuney-uOKMNL7dCWD<dN#rK+Hyq$DS;ti&s+D6OTWBCnz-C!-{*EiW&}FUT(=&Lbrw zB`w7-BhAAr#iJ!HBO@auDIhJODk&ks&&4mJpr9nDq@n~e6^cRa36L@w8EI*0X(=Ho zDJgMT8C6wX9v(?u6-60INhxV@MKy6=0YPOg87W?ANhwJg5fMFJ1qBr&ZE-zOQ663y zaS3@2DQ<2V87W>~Q4<9@1vxoTc&MnTs3<8ZfvkXHWhrSMO-&&gc`hYQklTdh<mDtK zB#=S^!ZfmyWZ>fiBXJoSBPBk5ei1o75k6svQ)OgiWcc{x<m6;Dl$2Ff739>^_+?b& z^i<Uq)m0SaRTcCV6%_=91>_`oW#wh%Wd-Hsc==>`b>-yc<%Ok%<fJsErKAM81?7~K zR25X!RY3_Eib3uMDU+9%1DP)(BO@azFR!6t#LFvfsIDR>EiEG_siG;#Cn%(*D=)(* zD=i}}FD7Qpr=+BAt|w_EF3!s*Cn=@KA;ZHXFE7K#CvK&rproJxY9y$uYpAQLs)DS5 zVl^2#UL9Q#IYn+&9XWY<5fKGN1!*ZMNFX4QW_HpH{QO`fB`0U5$}b=wrob=8CjxRL z1oQDJC@9EjtEy>eC@W}c2*{}`7;0##XsIhJYA6}2s3;4G2q{SO$t%h$$_ptf@bSy@ z87e3$DvHVqE6C``%E$=u2q~zlYA9=HX~-i0s96S522R-ua$<6Fa?*;5+S+D(d~&8* z>I!mlathMwI@0{YBASMZa(s$%a&n3i5@!6Ws#?}Y(q@v90{jZnGAf*Myu6Bva{T;~ zcB;y%%F3XIf|i!HmWGA~$O<UdlvCg{Fc4Kx;n6TqP*fBZRaQ}!m61UT2?*25NtQuC z0E7gk6%?#A1Ox>olm#RN#X!^05G*LDtgNh{r=h8>t)`@-EvTTSWTLIBuB)Y{tgULU zuC695Caf&Wuc)l3tSGFk#3!K0XQHI6tSl}sq9ms;FDEC=E3B-cp{=H^s}0K7Pz;Jk zkTPXuB_$;#1#txh1z8nkJv~c)eg#WiO=SfI1tnQc16ctPQC(AI1woL2ij<U<fQE*y zy_u|)w6uVLvaFmsmjWN3va*7JfV7i_nueMhsBxpKtEa22tqrmQiggu~_)Uz(mDPE* zO+aoFS5sG$my?480ut%$tHdBI3_?Qks;bU<!XhHl8p6^-l4`0jAS9%rp`mJ~r*CAW ztzm2=qH3UFYh<EpVxX;Qq-C$Gt1TuerlBOLrm3c>CZ?$&D6A%EtD&i>DWxKzp=_?A ztSrVarlF^2q-|tksD=O_cY~B^YHEPYmsV9(RnpQlGjkRcRCO{j&`?!X)lf39P!bZC zG`7`L6#@xp%E>tk>*<+z+9^59%L@x@C@Sl6s|pBcYN`qg%lqnS>uGC)>TeShQxhX2 zBajtPY^<swXk#s<q04V%qoJuOC8e#at)i@q6cP}ocbFQ3s3;gIYiW5Ki;9WK>x#;Y z%4lh6X=#E8Em2WjU0p33V^a$YLmf*CF)cG47jr8kD>Fkq3w?JZBST3UNnJHzZIEju z^>l?rwS}E^_4M>)HKcUaZ8g-@B?TpQjg2h~&8;l75dhQ-0V&hd(*>C?r=_K(rmtsX z<1H+#>1AcAtEs7_t7>YiCMqRk<)Wu0s;jA`si&yuEoy9R738Yst*k66s;jDQ#H%GF zq^GAPDykf2Y-ns~C?+N*W@Tk<Wnp0fvI2^&v~+}>oMm;51T8?0la)0zGSpC4hXeu= z862<0ATAC@>Uw&?mg15UN=D*J;_`ZMATDlXWTfY0X=P_;W@v9Gsb^#8W9Mk@Xk%t< zXX0mWZYCoyW27Z!U~FJ)AY*JKCT<|+V`OY>te`7vr0t@stt}%gV`OP*XJ+SUXMg~p zRtQL$v9S@zd__GyJuPEnC#PUBF}*-XYa=~9JtIwP7cFsFIR|fJJ#mnLv8rl_xTU3I zw69jMy1In8k*2mepPq<_v9X@GxO%*$nWdQ-sP=YrbaJ$_vl9h{4Fo&r8H#y%DH@pz z+j$uo8!IZBnVacqYa@jOgc*~i#~>vIM%u>4G4@i@(yHcCs!~eEa3CdRZf<VuW$)<X zVq@;+EN$#$9_;L4>)~W$;bIkTYilE~BxkNCVQOJ&VJdH7E-qy%9&B!5VWDEEU~b@T zXkZ{ODsOIY?_%TZ;bMvapq2<onT3Tp$b3~}V`Du_3oox22?^sU4<~bDV`Fn&Cm%gY z1ts@j3u7q@V`F0rP0eU2dwY-6P`wy!ZAmF}T?1QwV=*xc3u7rM?JRp6dm9^2?d{>= z>EYty0<r>%-Hpw~gMw7dZAD#z%q=WbRBUW*3=Iq*fq+D&6dN(f$bgZ)g++?1jGU~d zjf|#@s)dDx1;n{BGB!3g76GnqUS5vYKHhQ`9@bIbe$IX#j<(+Ran8<;imHk>MpBlx zmbR9Pwl-2SmQqnRwzjtFX391ufo3Kqieid3uC88=-hSSe2moq^fRx$V+JMa0u&}T& zvbPNgNS2Z^Px5oOF*mocF?0_$mR3^rjkdLru`#zWx7E=}k#TkP%Z)Wk(bt!eu`x7p z7POF%u(h?2k<l-9b#!%f1XYTDe*S*m-rgW9pxD>KS}H11-NsqWE7Hc+R$blE+0o3z z1SuroOwc+fW(Ef41)w!k3=9l149p-FqY?uHBhmx~3uvtr5+AIeoq>UwgOiJ!hnJ6E zKu}0nL{v;%LQ+avMpjN<K~YIrMO95*LsLszM^{hZz|hFp#MI2(!qUpx#@5c>!O_Xt z#nsK-!_&*#$Jft4ATTI6Bs45MA~GsECN?fUAu%aAC6ys9JtH$KJ0~|Uzo4+FxTLhK zyrQzIx~8_SzM-+HxuvzOy`!_MyQjCWf5OB`lc!9bHhsp-S+nQNoi~5M!bQ)PEM2yI z#mZHy*Q{N)e#6F1o40J;wtdIWUAy<}-M9b1!9$0S96fgY#K}{q&zwDX{=&sem#<vC zcKyc9Tet7ry?6h?!$*&wJY`^EsspXoV{l+#Wl&(?WZ-3xWl&(KV_3uRpV5%fi7}Wl zk+FiYj&Tyxai+V>EX*9tJj@!*7R)P|4=9KzNGZrEC@H8Z7${gNxG1bqR8mw^Vp3vL z;#U$<l2VdW(pK_NN>EBwJ@w=NZ>InM!Rz86HYhSIU|7d!$mqxz#F)TX!C1>UiRl>A z4Q2+=1Q)Y9)COS%2?ZGi1+Wd4Xf_BU*^mOZf${(U|9}4f{Qru9;s0|`4E|sBfBF9; z28RFc3=IFl&C|bs|Ni;=`|rcQm;U_vbN|6&kSYd-2b~XQJ?MN;^FZ`|-u(mjX5CwM zub+Y8UjMy{d!_f1?-}1Sx%HX-I_qIj$^q+$Vqjp1U?>2y85ns$>svsW5o3sjk%N(k zQ2?S2l>{vUK@|b>m>D)OENAFo=wx`#FpJ?mLl<a%n_(ftT80%2eGK;)+8L%Zd}a8? zFp*(4Ll47ohDQu<7#1<CV|dN*k>M4?GKP%|XBkd2Y+^`bNN1SBkil@CA(P<@!#M`f zob5%1OAH?vvKX#2Tw%D%u$dv7;Vr{dhFc6b7;ZA;F#KS6$I#1=$B@gA&rrxvz)-}n zgrS(Bl%a&7jG>&NlA(g3ilLg}GeZqS9YZZcJwqcy1H&GMr3}psO$;pztqi{zzA)@# z_|EW);U~i%hC2*T8SXPYV0g&zgyAm3V}@M}yBSU}>|of*aFU^o;TS_V!(4_>qp1%R z=cB1_fKngB4h9At?;Q-B0TCM+8T%r4F#d1d;ld!hlYx_gIX+Hz2Lq#yf`V(N%Lc{- z-5m@}Iy)E`wG?%CFfi*VxNTrobqk76j#TJU=<-bIQgBnqNKDzlq6(&iB9v3RBJ~wE zFa$?rDr{f~iBR0&5Gf63rbb3u>F!`)0hz-BHm566!A&6xYC=|GN>GGySET-5-5m_9 zI^GH!nAHLz0wXpwxJYksaEX*wR8(-?a3COJ!vPm*#mGqA9Sm%6mntZ@)@DjT-OR4D zgMm#;cLxIp#FXHO4Gq#893s2AKxPI<Y+zDT+;E_)OS(%r5+b6kxPy@aDzJlrSuHqX z1GB2@4n~K72#}P6vZ6Fd0My@#lva#%(cQtospB0S;p!r-s0eZi7e<gWxF7{7H{7AR zI~aI$b}(>*gOnE(6jTUOK9D(tf|MT;7zBb;0Pa$hAQjZv!5{z%QXz;b!4VrAq&G0Y zgH%~@LjyGYHh_XpS#bvg&Jc#FV03_LK@Rc;NRT&R336eiAZK9M!N8@xgMmRCyq=y3 zv^JaZ5EBCfGXpyVH^UAFR{b3eEcyn9s)~Y&s)CAwjJy6dFgE<FV4T3g_<`debp1FJ zgB=4S!%e1>3;_&z4Bj9!cQJ%ABr))6?_fw0*ulVjVFv@V{tkvvfgKFO7j`fRL)qdN zb})!T*#&nPb}(@2?_l83-^Gx_5Y51=ZD1&@W@gK1!)R`1ZYE|9>T`&R$TEtEv5T^a zv4fBZJDUhQA0vp(#|UEZF|sQwsi~`(sOvGRn?PwOPt8=#L|BedmQjR_osUtQQAtf* zj}gUqH&#YgR!$}sCSM*=Ru(2ECPpw~Vq|1uVrF7wVqs)uX5?b#VCCcDXJKVxW@Kh$ zWMl!6OpHv7Or2~@Oswo8+|Jx0tgK8dEZj`2O#VEgj4#DZq<pzW*x8sE85x<_*@U?A z+4xzx+4<R6IaxUcIat_Pcx8Cmc{qgBh4^IInV1+^SlReExFxtbnAv#P_~iLO>O{Dh zSeQ8Y|7~Iw;`ZPcVr6AyWMdQNw&xONV`Bj=31whn2x07GtYkXHAkSdW&<2W!9Sjco zI~erzcQ7~z>|hYOu!BJe6s31|Ffd%$0p4)HBCvyj{lX3gcKsa;LIOJ&_%G~W;D@rs zF6>|s1L+so!Ju$w2ZQp39Sq7)zV?M34BAk((S;ohM*2G#6a;oK*j(7bU;|}4-Z3x~ z7GslTlwky|LQ+#!Vgm=ciJG~YxsjQ%k(nH$FdjK^F*ebiY>X@{+^jro{3>j$jEt-- zoJ_3D9O9xvhakdysxV<TCJr%CK^AsKrh}Y{d>6Py*g!$a$jK_mb(T+)lNA(5EdRc6 ziLh}nF)^ZwGqZ3g@`I{WCI-d-|CzX$b~F5ARA68LB{n`rB{g<FW>E4H6=4&VV-y!N z6BiQ~6%%0>1t&jcEk<@_P?`cM;bUfJQv;_#Gjlseb2Ae#Qd3t`QdR=1VG{!@10`2b zc&LGb1f&L{*p5+Mj}auUq^1l?$EGGAW2_j>?U>E&7}eF()!5Y4Kq=eYOwHVm(VEeY z5o8U71ZNXapo)uutpeu^aWQc*BV!|wG3F*9wP20rc8uWs#0JYjqI`_vV6PdAnTg9W zvV$yBQf5<QM>0tcqz9B0?U<Q38JU>*MMSx{IGI7A$;imW%*r9d#SO|5Oe|u2EF8>i z{A{d@%&g3;OpMGN9IU)-d~&QTj7+RdpqOA}X5nMyVds_P-~i_>Rwh<vCRSD{UREy9 z(k^fmv4B)EF*7p@aI<i-FtIW5Gcz%=vk8lefR=MHF)=bTGP85aaq}}Xf-@_ttN<T3 zFDo-66Du<-Gb1}Q7ZV#3hp-SIGYd!o6AKdy6WCsERz4XvR%Rwfum}?q6Dym%Ag2%u zE66L%Ow5c-EKJP2+{_$IENslY%zKy^S=f~Ynb?_l*_atY4q{|vVio6O<ziuBXW`;x zVPrhU&dbWp#>mXfFDlN(!pX|U$jrpX$;`^k!Yatg%FD{Z%*M>g%*f2iA;}}EE5;$f z$Hfdzgi`E6YC^0WtSsy-{9-IjjI8Y9JZwB{BAO!Hf*c&60)vr>Rg{~Bomo&-kd=d# zLyCigm64H=nU|G^okxO|g^8J2P*j|YRhX5Bg_W6^m5+;+gOiPym79@?m5W1|Q%qNs zSBe8v_AoJm3Kl62PGK%VRY7(^Rt_dcMh-SX4i07^H9<CRR&Fs4E=DFc4q4DrAzoQt zRxUPa4sI4uvBk*5BA&@1%Ek=}bxu}pc3x>-HUSn6W>CS$#4IQ-0jf1v{?BI8WmaQ2 z%kY|!jlmgI0_|e>!w><k3H}J|V357Ag8@YMU)aIWuMc7GzOaKKLSP5O#S08O7~1uB zFm&nfU{KQE!JrDNdEhA-Ucj>{v9qy@u!*vXiHd+%H>xS?F{-PXnSjc3P`R%M%0udE zX6kyNngf(ctQf`Rm_f-~jtP_xY#EW%>N7&rLvk7@gFrG9C_k!!av3C7iHVEJGK#T* z4FTsAP-YPq69MHFHg+~8ZANh6rVerhJDV7&%tKYnrfLVSZPe9Zxr(2WO$=g!xE!Of z8AvB6^Mi9OsG1WOgSduCn~9N`iJ6I4SqfARDhqK6bF#3r2!gW_3o9=Z2NMT36Eh<V zJG&qUpA?Uwtq3a{sJ>!iWCB%I9EKc%Y@ii(%p4MeEWEtDpp?hTD#*z#&Mj*q!p+Ig z%FN8f#LUdX%BL$Mpd!L8!NCqv1FBV6*qPXvcm%+SfQgxnjh};Cj9b@62vq+tF)=Z7 zu<>yia0s&Vaj^1=a!Rr?GqSSF@JShp%4qX}@)Og)1AI)ZY`l!jOdKo%60D%of{Bq$ zh?`Yx9}_bZyR-<001pc*6DuPV4?C;01{V|K6JB+04qkRSLm?Ip7A_t(W{_Lh_?cLk zm^fHK)g7opX64`%7UE}RWnyAxV->MB<QC%wt@jgP1G$`unTKDHU09l%nT?r=omGIN zf=3jz<dcPsg<D#Ln@3uZQ<zJXPn?@eh*Mri5M&1vD=QBd3nvRJ8w(dRD0_3Tv49p` zaqzIPFfp;PvIv>#a0@cCF|+cpg0e0Xix{sAA1ezlyBL=bw<tR|D=UW}pP;S+mk2j2 z*8^r5L3?f?Hg-@3W@48V;%DV&VPR$F<7a2)`uCYbgiTzW6BIlw>|$Ku0uroDjO_9f ztXvGN3?BbqGtXhV#1O}@g5e>f9%C{C10y``<76<Yse|eRNP;0inwcA!TQQ1@ftyZz zjI0ntK}9{ddI4o7P&QICRWnmJRWmm=F*8ME2{CgsF;K!569FY%F*b2gSW}FTksXw| zKv~9)Q5~cilCePMv9l>dY~f=BHQvM_8A(jsNZd%w+{}m-T9<;WQ%H@2>>P+WCZGl! z#6jjrE;2GRMs|^i7`vI8x+$d12i6G7ZlG#c6qMtjnb_RS2pUjkCgx0=*tpmvwIw-t z*f|9_nOT^)1UOk(n7Ku{nOT{+g}6aW>V!muK-CZj3%`s2D;tZHjwA;k2QxD>2R{cB z3p2L}C;{?{^RjY*>M{;i77kunRwhO!c4khYe`k4h6gdUCKn1-p3oAP-mk@`w7${+b z3S|~XP}b8_<`m{;=4G<;5N2ToC2>%>%LJ;}7@3$@yM(ye*_k0caH3*j0xhv+;}KzE zXJ%*S;REF?kS<0>(6UT!HfB&o%f>Vpl!-wGut>YG^K*b5z|6|Q!YRn1q|Oa;0jPD$ z$jHph!mpvmA<WIn$!hH>#KH>71Wb&nAV)AVv$3;qv9j}XgPNdh2)jV-T^?3R9%goC z4n7t(4i;u6rW7s_F3nI)9!Va4d45(7R(=J3R&G{dHDS;KK~+I+aW-a99m>kf&d(}k zCdJOjp%tRVC(X;s!NMoa$I8wsq%Oq9%Py)b$|=Ob!okGG#KghG$;{5fCZKRuK?mk! zMn;flSy-eTID|M@K{=P3i<^U$la*JBN7;~%g$3MrH`L}3=457LX5(dNW@qB&=3)co zQ&w(KIW~SSaXwaVb{1h)aTazKc0M-H+GK7Pc91?M4skv%5pH2NX*M<<RzWFFc5qpH zk(HN~lZAtYm6MfQgws(192=kt5ELOSEPQ&(9D*F61`jtY4+j?~XpJbB2&bwpKMSZd z*3;w=;bLZE2FHRVs~BjZH4C2vH!CMIxZT0T!Y<CoA;KlhCdCE{F-aa)9wtUcW==K^ zA#P4lZU$xs#s8m}mNH#rSk7>s;Ufcssu&wPn;Nty1In`C^bShr@XW@h#;(k!q^<<6 zBf-*eb+(LV;PxP>q61|FGc|DKrLG3f#deJ5MxdGxl-K1zja7uPY~TVw4pa+*nx$r- z)}^?y7^2Y$X-a|>h|4jmg4?ukYe7{UtW627>cm0DncIPDKs8wH2x^x?tQMC8w{XqO z&D59{Gchx>OK{r?N^-HVfvQ9n4pwH+@^)4Z0S-Pza4p2e%FZgx%F4mYCBn%o$}O(R z%gV{h!ph9b21@8m+}cutB5b_O%zP|DptQuw%*tn?&MgLNblFEqFtajquye3*vT@7s zv+}Sqvw?CEGY2!52p2OyI~!<OJBOMe8y_nhFDolMs9VU+%fZaY#3IDOBg4bY!OY6@ z?*c0~GZQz+NuUajkDXmWkco|zokc_e+@51$5;Wyf;1*YuV`5_BR^;SmVrAlBmE;Dc zCMH&1b{0WSE^c;7E+$4HR(2*<Mn(>1c2GN&m5Y^`9aIIf^00F7vO!A*u%}qqSh?hd z*!eiv`8fFGg~Y-6kzL75gol@for6n+RZ51Pk3&$0Ps>n{g$2|^*Hr^GGOZ<fCAbCT zxmnp+m{^(F_(8$OC(a8hB=`gc*ti&(nAkbwIM{hu1?Blz#W?u{xddedS=m_Gc}rRN zxHx#(xP`cxn3*^QIXQ(GnV49Zc$CFiI9R#F+4TjP8JXFH85gn(u&RM-R7NHyE;$Yn zP!{D8=3*6OV&Y^KQe<HV?OP9H>|{8|1nRf)LE4Ng3__3r00O<o-MD&(`1*jLejX!( z$$uY4Wv1H<Z4AO7I~jH`Wa#f;$kyM%kgsoGXs%{vYNBRtYQt!5VrB};9`Gs<&H(pc zkyAY=i?D&mB-lV>6yhSF+L29ML`)RiPK2jtI0M`(W>?k%H&|i06WkyL*I%}bW}rfj zk&%sw85Fqe+?=3oH^ST;e7r22tYRD@LcB~&tW2z2tlWZJtgI~Ht`#_8fI2eZ1O*<! z0Cmn-SUEw)aPV+2b1^f6N^%V@Ar5YCHa;<K4jxt(7G@q6CQ#B~{Kd-6%F4yc#mWPs z%(#WQIYqd{^+h@OI7Bstd89$z2GHOG8xIS&IJb<IEWaYZprRlvHygJUHybajI2R`y z4=XPlKN|}h3#SMdw+J^oA3LuUkBEv88#kMviXfX92Ro=@VP+NM5;v9-R2JkC;WFlj z40H%_@`KU@>wj;CFHE->+88E-;%65_D}x`nAJHlR8NC3}u#qJYo9)651`y44VFv@3 zK7`GCVFv@R{tgB|fgKEv7j`f>LfI}Cb}+a=+3pv1Ft|h6-WPT-ctiCzUD(0U1Z8)C zMyHU|hp-r%C}<!`h7r^i0YyB#$b~bMmDoUSA6Rh;NjI<o0drF`brVqg%1j;7uz^KC zazP0l_yTobK&34t-N-Y7x*nj8hb-eKLg|AK)ZeCZ`e4+dG=Xq(QJO#)8KfDj7;BhL zF;p@z2!q28nn^*U7oa-BObwKI&7ea~W}u#ysEC-T2(-2_H#33+Cn5vG>NRL=vOzm! z>S}EKkQO*JYG4(lx*lUHk0dvj04pOXd$Mx#@k#Qsi-0N`(10N~6DzX-xCO`x8vBsu z;}8brP*A5yfCDt($IHab%fi72ZsPE<vvPtOR_uHnEL@x%Jj~K8tgI|NY;0Vhy=0(z zM3938RBJH_vw*gjfm&8<JS?DHE3C}S>>TQRES$_N>?}MijEqd&tb82YB3xX8ETEwf zZdPVCR&LN(BOf=Y>B7v)!70efEyB&r#m>pi3L50#XX6s)V&h|C;$u-~<zfc)20`1A z*jag)dBnI`g*Z9bK*xA682<myq{;Y`A(X)!k|+5XWWjk-R$vE%#f2RVd;&WdJT5To zVhCVh152<8>|jv2u!A8$U<ZTY1p`A>5zz1#sI$z@CIadtg8~~mU}ggDm#cxg(x9LR zb;!+(tQkSg5H*k#C^taMT<|ckxEM$l6tPSijLfXkg2{a1Y^<!zoS>?gPnwODk(Et~ zFNH?})K}%@kmL>%lm!iyvM_TqvvG=x2{E%Wva&1jMR1F=asK2KVdG(D;$WBLiRG4H z2eo7wnK;;`c%peFI5?Qt*+sbp6<L{?xH%-a!?-0lI9M2&7+G04BzdCw#5p(^S=qp= zvKSd`|0giqWSGfd$RH01BL)Tqa8NJ^>|ihejd7^y?_kgb)iL0(0C#u5EiX_41{D^N zQ9k(Cv=L(H`vxNmr;@C&7z+<*w;v-5iy(&p4--2RGat7&2OBdBD>oAxQxK0RE31~E z7N4r2ATK);3nLQ?n<6I{7aO-YivT+xGiaDigxiTzm<=>~!^FWR#O2Ju$Y9EFg)xcI zmqDIE8su)!6qo)E21)%L3^Mw=7-Si^!4)#2921+U45&Q_ibHihCNpp}nH!l|Ga898 zMu0|HnOMd6ck`-nfCgq6nLz`#Os_fl89iA9Ma4Kd_}RFb8Ch8bMa4Neg;+uAA@#8> z10%x?hM5equy6y7$AV@M_yu+_$lqbu#lXoR26lrvct!veEZ~9>bwJ<L7C!LKjxrvf z!zscFYR0pI$In4sEGE$SIXGQ2{QtmM%5;k%j6od9?=1Q|7=rY7FoftE7&00gnTZ>N z3SOkPE4-vfX0Rzi>T^hOkB0=ct{GKTSh-nQ*f_y;H7hd{3lpaR7Y83F6C)F7(;*Ls zh>{2=KL;y27l#}lr!YGk3ll37H>l;x%nt7Eh$x9LgSO_ffm*J-9ITw2%%F*an~aR0 zK?_b6c3yTiZZ>gUaZxQ%7Iqe4Rbe4@VS^+CF&!~(F*a6aW^P_yRw;8SHeNPCWg%WE zUc(dvb{;l<1%7rub`f<EZW+*k3V6){6NAYAFHB-grx{Wh_Av&5LTU%Ye*GN`#riuK zQtm+Jc~S&+Fo0@e5Y2I62LlI4PGAQE_k|q{-1<8h_6zJ_FuSmW!AyS#gYJbL47&O| z7|g&qV+Vr)lx=)r2ZJ$`ZFyk_gC&#=np*&=b+`bT*8s6$H95$>xC=WN;-K~=Uf98q z2y&ai4u;eVI~Y=-?2HSLhF-D24u<RtkOm)!oqqw;@Y}%vVwYXm!B7UZbH<$=3>_DC zFm&keV3;AWgQ5Gv4u)<hyYB)-Y|@1t43nT@Q=wvWF6>~K1GRJOg&hoAq3j(Ob};OK zvOy!CyP@tqaL2%q5!$E#m5J~q1sd*DQ-`D}XaxkW?mz>aHlT4&b!b!7OwHUBRNcWk zb)bHo5oomDOpXau)rqlzMr_#4)J#F`4jV>wQ;0cW5;RBxw-VGX6Om<P6BCtT1P#@I zny;XF4_J>5F>(U3!vr+qW5a09Bnld80JR`lS=mJFt$Ahn*?HKR`Ixzw*qJy4ID{4W zRCPd|2hadJsP_)(!b6*@pwSEw2MZo)KG66HJCmuul{zmQD`)_PiKz!<GDr&(6BCE1 zD37cd6FU<tC#$#=7aI$>YYu8nf_v^vOl&;d+~UHlLhP*EtlSdpoIGr-AT^*VI>t&i zK6X|vR(=%@K~5o6LAziHupG#ECPpS!UQTg4Ej~GZZV6BU%f`b78gLikVCQG!<>2Sw zV&h>4)#OsVHi6=-paBw)lcWrs)df|AK=PtoHlUUfH!BA_FB=z^Fc*gahm0W~CnvZO z&cvlA&aW)QA;7^Q#K8?|T(k1B@^OlAa&QWBiYW2(34&VaOiV2N9K7QEywad~KX!h0 z4k6H)U|#?KGj=fTX7FOr2Iah641Caf1ytvPau;a!O$k)Li0DJ6?Ie-QEzrcLAgIa8 z$H)#Yy1|3yCbrBbpmB2W7=oG!C@I;1yW7Ud1sAxaGE!sZVg*f)f@k5lIV3eeegzF) zFfy^qh<NZxv4Mh^l~tIFi;b6!N0eJ!k%x_olNHp3-o?no$jr<x&Kvu0ay_p+2Wakv zk%^gwO@!O~sso28yC7(In4OiCo0V6FgB?^FGJ-m_3L@N!peh?&{xC9#F)%QRGo5Cb z1_=X(T@2a`*5JxjTVMx+>V+K)s`@(^Ky1wmI~c45b}-mpFfe3<j1S5&fo2Pk6FH0x z${ogHX4XtbX5ygwO+*aTF;miJR0Pe$>4Cd|pp*`(ppnA`GOz(^tAMBFkc|fis2-y^ zV&oLA(a6l)NQ_Y`AXko+jfIV!k&T^8K*U6bLy$vEQ-qxxG)%$93z}7C0);m(tL_Xw z4GvH}$;iaW$tKL{`tP$ZrzkrYXr7COiC<jOMOnsNhMk*@PXZKhps-_N;*(|L<6z}x zV;5pm7v==1<z^M+H0Bm$V+9Z8GqbQVgHC8*5iwWeli`QtxsyzG1{?w$0-8En0#XvP zS|Y4GtPn|1TZfl}i4{~|Gchu<u?UEYa<YN4Dhness~9h6z(I&ZM^V{aN?26{)ZdU7 zWaR`+2(t39stAHcx<O51CLVb{c_ChDc4kIKR%QWqPBvaPUP*3F0S-1^Hbrd#knxPr zxEB8ZnMsoAG{Z#(Wl(x&*u}7yAqpJVQ35*{VlV7qh}GZ0uvcIQ!%jpTgBtgc85vL+ z25wr3gL+EfF(yz^CdS4N9rgwlvTRE1N}wS$b!G50th$;KqJ&j5Q&$5OrQnJmYA(bW zV=*&xP&*Bh96;SSa1jd94QjkXjM8HSHH^TswxEeyP)87~0Ni{46JQrAgWA4GQ^2rP z!pLjnBge+gCM&?i#>B?N%E8Ob#>~RR&&9;T2pZ*45(G_4fF?#jGp|g-u4dd~JgnTT z9Q+(C{49dZ9LyX7>@4ie+`^n{7J{s7;NegvHZ5Ux0XER#2h1$292`QbpdyY-f`f}) zM2-X0>IW5QOiWygQtbR3%<Q0HS0)ZF&{zU1v!IADn~XB3ZNbFCDx?aEU2%3+c2+q- zHg;xa77k`EZdN`v0d+2r!$6ZVq7KH~lDr(eOedKng;_XRMOE2&*oDkQWJOrmnAw=P zxR_X3SV1MMq&BB0XojDKkA;(kLx985L5u}7nhh$IK^R;^Ftf7=TB>nN@Un8VvJ12G zg2ug=Sw*?|#JQ#Uz$HI36BCED2q@W$u`#hQv2wGDOM<7785x<_*jV{Ecx5=i!@?Zm zQfv}j9D?lfJRqY%g)@&7rwBK<Fk~E-gISORH2NXVZD1=5(!mHi_>lkqe<o?B-3*xw zvl+rcDRLKsFoP;MK?)1(VBiB4J_0)!Km`wo4{Cp?3hZFWf{N#Y*1ZVqV3-RUNeI{9 z!4Rdti(w*z0oZ_v0y`L{fKoB2lm?{>HBhny&6L2pNRV^_N=2Yvk{P(}R$~Jd<RCFy zMl~}~Zx@z&ASn|;LRZhoF^UR;YIJciGj%gim&y#(h|ptHhZThEe2mbpE<0$V1l+wc zhg1coOk4ttOst%oVj@B;kQBkm%E}?e!6hoh2TF%bEUcVrd{a0?MFpAJKogeiEL<X7 zQkK%JysSd1LaaP&%xtVI?5s@eOpe?_poIX;ygW)r!4V9a6yyR8WO1^B5*`PO8AKry z6APO-mo>Wp8y7n_GYb==D65i)3>PmGGb1Yp3l}#lKf4LHFdL||#>B|P#?H#mVZh4A zD$2pd!UmcnXJzN-VHe=wk>_IPVdazHQ}a~g;Ny@q08QMma)Or^fQC5Pgt-6h;t*oz zWoBX3VdY~DVdY|F<7MOE1&!^q@Ue0WakFx<da&}af%@LupfOn{W>!{S4$wH2$p6nw zQcSxUZZOz`QUwF3zp#S=62qY8=q?5(1_1_M?OhC88Op)2%>*655`Zqr*($JuVdDh@ zLt#Z@BQbCV1nFQgffkH_*PXD5vO!8QNU_5t2CA{ZgdAiw6R0plibQb12NF|aQ&(0~ z0#)_kA__dT2xfui#$hw#u%RW8fk<h_+|<kjS{$k=fl5erHYJdm;PeTq7?q)Oj)-Xl zP<d&N;F_C>bucp7fno?WEWs)+=$peQ%K@6424y_R>MBkiR(3uP9z|7UUT$$NJ6TpX zX3#-LY}_1dyzGojj4Yt#4xq-Kf+mL$7l#lx3kM6hX(!Gtt_2!TWMgFq7e9P#Ol+*I z!n|gjg6v%EETE|Y4i+{JK4UR{ac)*NW=<YfkgZJ2OgyRztX!-dY=W$;>@3{E9H3KB zl=<2DSvk2`IGLG21LU9qS7uO}0(D}Un3<WF*;qhj-)=@wNhr#}&dbWf%*e*VFD$~& zA;7`R&dLj3FviBr%Ek;{{l&t;rsBvW$;YFlq{t&6$HyfE8vSSG1dSW8aIlE;g3DV_ z@&~PA5#VM4g$oC0Zjetwh(n%(gPECCgo}fhorR5=orQywjg^;!nS+&EoS%oClTCt+ zou5rs4b*Q0Wkwb*Hjr;X{$u74<df!OVFTqp4q*;f9#%1ZF=jR<Zc%P-K@QNwBB;NO z=*!JzI0A1?xq;W+?O=!&*ufBT0YXPWX-JK0U<jUcLaIZ-$$^~>ltPq1%^+Cv0wo<2 z&`d03ARUpgKrJaTb9ko&l%yb~n>u)s3e=neiNTXIXsHKs>SqM^X^h0hK;3azmjsj{ z<QT<4%a-&Qp`96UEeo3Q1$EoS#l%4aeh_Csx+<UssGz+8r!Y5%5GN})E1NJYJ7@&} zC##4Ozm|z0=!h(Eg$Sx*K^2Omh`6m5w*(Kf5R;m{p*kN2H)v@SGbbB2n*av~sL~MR z;t*D46XxI+;*gL7&FFv%El?@K#LdUfEzJ*7#Lmjf#|oMx0aextM#7Ng7mSRIQ`i|f zxb^gyIGEY_*!1~9Nf4Yx_%wM0*_c_lSvmPR#N~dminFq^vvP}YnfQpZfR`zPYB2CX zFcTX$m!yx8fU+QmASb6V7pSsi<!0eg=a=VGbCgjq;A3G1b<i03rPaiFWdvA3%NRk4 zhKZ3yoL7zqWF;#rzm6;`Co6{#C#Xc`0VQiDK2}a%R`5D4P)7?~_cHUUO7Y4IatLy; z^RWAgT8JtefTls2m_&@(c{w;ZB|vqkz63jHu@Y#_6qgz(-7zw#GcYhQGwo)`g174! zp$mjSi-16>E<_))ASen^CNje6L2#Uck{lw5Ko<>&v5SJlVbh_AVhFWT1SLylH8yP~ zCD1}TH52#(P-jLTFCGzA7Di@fPF5CXCU#~vJ~ks2&|DQO=%g`lEP^W)P;A?A3xnF< zOiV1ytn56XC2XJ>NM&Ij30@{XCMGU+P8M!f^_hH{pw0|rL~1t^2df~bCYKNg8#gNp zXk{6P0Eb(UjI|t}6t92+sJ+ZB3_65|hno-7T;pIB<6z@s=a=V~G!kd!W))ErQM8j2 zQW0Vi1g``DErw)g<zv_76k-E4s2P|U`2T-ml4m-_(9W=d;T{8nsvILbn+Rl)A|kxN zp#*C8g355vazaq^6Wlfhg$*eCfoT)a5)MdqfwXop=7;SVAuBJy6B6Kz2)6{99YHmU zxQG}dr1k=3LnDZZAR9mp7qGQ#(EQ2=o&wfmRA*B|tQG;aL!hRC^czEFgTZmiBnv7% zL5YzGblMyztEinCXc-U(s1XV3ov`tM@)@TP2NNrkh_IM89~TE`*)F&P#K_3Z#L6il z$S26c32Loy@Cu4?aImloxft@w@U!!>8~e#}334#AaIk=uUh#5qhzYXtfaYPD*jU*4 z*p-D?S(q9BO=oB4kP!xTc$B!MR5(Bj3_**BSOh`idTe~`Ozg~{sFS_S%E8KKsSC>6 zylj#xT%eo=T5-i8$<N9Gnjc`{VCHA$65<e3<YZ>P%gW8d%E8La!NSG^8q8+rWtY?B zWd<)JfMhaoY6RtFHcl=jAzlGCK6VZfE*1_JP8MMnUU6<Q6<$s*P=kw=iGzbzRb0$k z#L!$2<YY!BaZz?YPLQ*h*;qt96vS0|SvXiheLGer7Isz%ZEi7M7B)sler<jsaSqT5 z1ZECtDRv3ad1@Sd?2^3T0t3|7XX23h*CwdWt)L8c4iks0I2$hqw=4%Ym!K4A9W|&g z3U)6Gr>rPDXpa*UgYf?^OrlJu8J00zVBiP0n07HtU|0(t*=0mo2L!JH&=_oL>}+a? zB@K{P2xy)FoKBcQYZ5?p3~1#oD4nT6$_yr0$_A|rS2G2z4OD|Hhy^Dmb2~<R#9~@A zcm)Mc*WjL`h^QEwI(U_yGMgH-nG70HgQze9RY#zj31qdo9V3$nEO9cku&{7|Tae7` z%*-4t9D<y@viy+l8mkbfNz5U@&MnLtDaFLZBEql0A;vDm#la>btsp2SFUAk*(}Tj0 zk(rT`i<Lu&i%(5cQ$W{JoSg&Io&igNDgb5{c0nE%E>>o47G_p1Ha<lmE)i}PK_+8g zD=mJ|1V0mKT`R;<Ggw(zd5sO3IG9AGWWfoXi9<q!jh};wm6@3nT=wy>X^JqjFqX5* zu=0S$syJDBB)GZ7xy3YvI6$Yjv4V#6_*gl3!D|OWsR5i3Sy)-r)7jX0n3<SZ#rQZy zcv)H5#O2k+*!V#07*GZRtvO|3<6&jzWMX0CGf?G`;bRv7t$}A10uBFguy6}=iK+^) zbAuM*K^u0EWlD_VIyTCD(tPZE?A)SUtn4go+-%GoHiFuGs)kHVjBMQ6GTiDs96W52 zil7yR5U+w3{t9VvfOgU`F@Wb77=JOyGFZcAuwb(cpxGHY(Aswa$hb6U*1`4;!!8DO z1`}}W9X9(QjCb}y5U(t*xd})G;m;$AI%UCl7W<sVzkArlLAN15=AXcR^h5U}$WI_Y zg8XU+^=kmgj}X7@Vi0F=2j@fleiSBg-bxggw`UVQorN<b=8!bc1?sQqF)%S{GyY%* zW?(P}RYBkhELaf$shz|@hv0zbDdF`QJL-}qP(cG%1D_`bw|t{GMcFt&3$2AY1yuxH zdt61eML0xQLBpH89NgmEy3x9VDgrEgOicXjeDeHS!CHKhyc~S2JfJmtth^#zLMlRh z(tJiKMj{%USlBqY^@X{FSUEUYICwZ@O=UR*IGLF_Sot{w)ww_?pmMMZD+zP(a4>-m z3T0;JW)o5nWaDCGW@Y726X6hG1MO1bV&UNBVC7;HQ5S{g0|SN_CQZgU46+Qikl8kd zT@2O?>fm(F#vlUjrGiFJ%|R_NGtgEIMI+EWD`@-}wAfi$Q42KlU}|E<3JV5hMNosv z1Ud>~CT6Y(nlLjm1Fzs?T*WKK&cVpU%+4mn`7en}n2no}k?}1jBNMBX$iD(k5e`09 zW-fNn%G*|U0XA+y#>t=|dsa3zK2{!9&;gk2s)C$?XW3Qw*?3q5Kr4%sg}H>-K;t!_ zHIblr)n#B}(t^Y*c!2~PXmvPh&7rPl0$S9A8rh&K0vvNt23(C9xb*@l-Q^e=|4}hw z89itbvrG(142(=XOm`TX8CEi=gX-2@4DAe4!O__+u!EuH!VU%yy%aP<KcArwoYz5h zE*mtlLu)nA=r_2B2U)=anu)e!gp6dv>qvNY3LZ0M2i3{Y+yY(;52|b-nF&NfhAqGo z3$R8bC<{TtR*a1qw2}rKRnTE`TSgNz&}_e$xiNT(S6oz#O_T{d5XlHi+G2d5z7wA` zj|iwy!o?=ZDIqQdN->O}Lv5w_IN7<`1f)QNK+G&m?4Vf&7B*H^UeIzTZ6Rh>CT3<1 zHX%-HF3|ilsOn+{9fr)z#mT28#xB6YE6vZw%We^_z$wDc!U>v_WoKt$Vq61i_pq`F zal3JYx(SRd;H_c-pjlK<7o16jRS2}mf>)edP>CBfe#9lhBO=2Ms$W5id|6rfIY3<^ zUP*3YHEvGO8d51ib}<PF&|)bLZtyG?BNHPNzXpdOC$}Ig3nL4Q5U6Vjs_VE|1^Gne z`9Na};L!;QadrVvmld?2U5byD^Pea?9~&1N7igmkJDV_<Bd0JMXv+s9D>D}x$W~C_ zi-|$y{|BbOOm`S#7@HXw7(u-QG3fpuP^SPIe|(6jg@`~i2F6lw<d`+K1CJtsvy2!x zy3LHtjm?a3&Y6SaU(6iZ9RQhRYGz^zA8!Kn3-lO48>`sVAdUc$;GP~N(LhKsBXMIf zusw(=NwDSMEDp8;()a@{SOA*<BKR2DwLk*u&~Y(PS_SzLMuQuOpe5ws*&Fz97D@vV zY=Jp)Vg`F1>MS-^a63_54c4^*y8<*n1X*JQ2_ZX1rk|iR1s**GB_T$3PG$~P2?uR1 zNoi>=R!-0n&TOn4JnVwjl6q$RAhn<^9n2j3-0b||WkXDC%zSb}Y`kpj95SGEBq78G zI#-j4g$>m6U}FUx?8*gdg|mQ1<=MGFtx3=dP|*4UZVon9RuMUF4lY(uCIGED5V125 zkz(a!<&zWS5M*cPW#gCS)3Oui;RhAoOpL6|ENpCI-o^ropgkyjEc~qOpv9;>?A#)p zY&>jSY#e;-pw7Pn4;$E4X7Df^XtY9%M_HRgfP-5U)WKzyWE18T;pCIzG1K7^;$&iG z5)oqKW91X!U}Xjk6oQ(wpehtJ*u~1n4jT3Xc~qKDL|dFsUVuZ8!!t*h1GMU%iHDOJ zw3eNnos*S`@!uCFCMI@iNmf2~CT1p94pw0yRxTDnE=Cq6W)==fQ9*TX83iszCdLzN z(%?=w2MY%uX!X3PC<iaQnk8txEogx@C})Fqg0gaRaqwB`vh#C*1~gdMS-3^G#MA}3 zgg_evn3-6ZxgZm^;87Y5URGWvCUzz^$c8B<7FJeX79L4%c3uu~BXKrfHf{+X7SMUN zpq(}x3PPae%Dfz)@opt4HZE2JClSz^NYH2tBd8lDWUeZrD+%f~Dyt~*@JaF-dx){I zgDO18WCsfiGaD0V76;U5W&w?WgGScbI6zByLDMMw9OAspEKHC+s-OU6VPO@LVdDc0 zRR~CM2y%+(N%2bav2nApvx%_@af*PB59g8OmeLUg%}}$jgZA5T3v==aKqEy(hLx9< ziG>L?UdzfW&Bw1O$i|(-A;vB#2kIn(`XNjl{46}Ik}{mUJgS@`5^SuT?1F~Mtf1p| znHX69|7Tjobc&&bVLEh$(JqFm3^L%#Nk(7?gX9I!Y9j+fRq#A5Xcz}HKm)Crnbnm* zB1mNcXjdj^07DPaX@liSP-y~TgC?%cK@)h8e2JA56Hx_?Y(R=0X2ie)s6-T(W3*<p zVq{v#$jZ#b#-Yli4_fjJngwO$295OcaItc-&J$GU=3ryt;AUrG=U^2Um*C`8<zQt5 z?I95a9fu7HPCgECb#c(*1p!W0c1~8%I6(xrI6LS}U><hRrV2g|5oJ-(cry<h3kx%^ z7%$Vm|Dc88OuS-zOe}01pcyR=c2*u?ZWhq^IIB3152u&`3lA?3XnQ3SGbe`-r+@-K zCqEA-sDs5O!X>CG#3jZCsx4TVd3bqP#0|tb1UN)>L`Bp^%nQs}Iaoz?M7hPmt9uw3 zS=q#S1Qi8Ai^A1KjM9u)*jWS=1UUFP6ddH4Ss$@VaI>(pD7h)K^7DdnHkS;qjFl{x zFgFJmJNObYW(HRV2Bz6erx;=x+8I_c_(NJBvl!&S5j;y^2LotE3`D1bS|5uT#KEmi z4TdH#oyRZ{tWZN>2ZP=P$d=_MfgKF>7j`hzBlZD;%TZ9wD1loXYRZbB-QH%Vg5WL1 z&{n6InK)z<E2sj1#5ri~3mZFV`z}Z`q!Iwhia};{89{3iL94Yvs+r7;jl@8U4nZvt zaGjtA8Zcx8EyQ62B^7l&Mr}qmHD%Bq1@JySIj|N;l4F_)8rorD7S$0{7vl!)?qFr% z1fhR-1jRvXMp#)uYp)r#*!kE%(@bo<>>T_Y!b*H1QXHUC7}9HHVr1eKWfuS~onR8< zkQNjG?Xvyn%L?gZgVxdUD=Nxy%YjA*B*fYHK-~j*zECDsCN4%1CUzD+O+ihuLeNwP z3o9cli;%bkr<{e6Iu9!w^8;=bE-oPsBLyBo&?-l8zGY-&=HXD}X7c8d<^T;PLIlAD z4HG*r7oV0iXk97?3o|DZCo=~VJ2$I}I6D^y6FVyhH>;3@xIBj-2V*q5D7P6qKPwj- zCkuGF0y7JjB(JEFIyY$G7&Pq6{I7*ifkTB4REjaPb4YSW@<_6S7H2ZD3kq?Fa)a06 zsr~=Rw3`VuOKJ>CLkv3@a`ksG6zD^inU(ABV5rpJ!BC^Wi$MT7TLGF!<GBDjIRLTN z1604WL#7oVMF?nfiyC<T3Z8~Q8`nfZu`b32StJ08eNZ#Tno$h2M-CF95E8Ty72Fg> zG?76mNew)X3hE3&+Y%7VK>bQ^fdbw^2U;Lyi&9J>+9=R=i<uZ>d1i+OHy;}l3o{cp zI|my-JEx?C2rCB%o3Om7l%TON2QRye3@ZmKsEr7!a6qf4m_Xytd^#%J5}>6*9IOJY zY|K2OT;htnY#gl2Y+P(Y9JZXoZ0wB8pt6{ijnzDpTMV?ri=CHUfK!NrnVp@FgG-o; zQ;5SRSc(laI|OQEfKnOAc+l7hsNu}bE+ELt!zO92%p=7I8j%DyK5jAj*b6F)vI}vr zf#z>PTgccYI2DC?IoLogY*}X>DL!@{c2EKr<N%FKf|5HIw=k!cHE5y*YyoJIBA22l zmjn;D5GxZ4s~DFwzYH%2KYN%GsKEl8ePLu~VP<A$kqWormlFU@(ui=ff_83+fOf=y ziarj04nEM4r`$4P>^y9e%6zQs5H~S0f#&XA{{Ls%!*q%vhG9N~J1AA{V(4Jd1s6CS z(0);i{tgBZ8?wHSVHd+B1~qWWWX@0qR%kA;gTV^4Fi>CzLltPQUPMd;)W;Nsb)F!l z3Wx-i6reFm*yb!Xv;qoLI)QiDgNq<}Mlr+)I(V}Pn>f3f31o^Nv^WdYHie`sHPCb} z8>sLBTO$H0&;&s#7`&<-y2;;;5j1ma&a@kpi$PJz44UdRQWnvc<Prr%K4`R;gNZ|e z^Ce1&#LLDD9_nM`X5*9M;TGeP6lLS$0Bv691vSjTJH6+C+LEBw1S=;8zq$;k5GMyO z2MY(Y7%LB(E)yp+E2swoN}+5@Lh1oBs@nYErU_#WGZzmR6FV=c$m15{7L@1La*^N@ z;a~<0VMB{NCPWzoUh)M>ARw!lSy@>**aZ05IJh`C_&G%Nr9c~R*;&~5Sgl#bScN&k zdx`{Pc_oy=l_4n6fV>WBDuWjL^2+f2dkI>r1e&vDWaQ>IQsofg;$Rm5U7Nwk;L5<r zl*n|Fp^~8-k}^CQ^1%`A2|D%S!VU%ytpue(dqwgEb}$rz>aZ||RB#Gm0<TNn#h}Gt z2i6Fi-xm|u!60#A2ZNTt4hD@2I~c+Qb};xu>EH`H7*YjxFr<S<SRnKMjNo1_XziIO zXpBXhNl6XdCzfRbmrJ14X&?q<{WYi%gEWai#gK?B6F3Ec>OE^_(B58gImkgLpw76W zGN_U?v1Js5Pj)3RmWA_(ft&rH&<BmnaJg;;9eB;c&dkKZ$|k^RwuW6)L=aq(GcmET z3W|!dALbDg<^|1GGjoF0$FOScG3DTA;{eT*bFc|>d;h!P&nL>t0vgR^VLHjg&dkBW z%`U*s!Ozah#RKY|Gc&Ua^H|DqaD$rpph-a?Q85m7KG0MLXr6%+)TLFk-~msqfyxsO zRz40r9#K|SW)3!CP7g+bTXvj6te_eS)SqQ!aQXj_$%^R&LmUHiMUD$Y2sjE{1a>gU zT-d<?q7|StXw@)??{r}YLx{i*hA>bZGBF5)<4}{q608vxcbWn_7}SyC29(vogCvms zmY@+5G0?(uamcz@XyicF?}Ap8fmY^#y4JFwu?<iZft#=3(@z9JV^E-$X#!(hAZRE7 zR5gM+DC&F%1$4PUOSM2#NFcwfb%U1EuyBDEbF;H+@GcQn0ZrhuGIO!A3vgI*gNk-W zNQ2@8B#t;i%?eItHqaV9Zgw&7au{w-9#9t(H2kJ6z#+`R&BDUS1X{Ak#V_3pIvE8t zgvQ9qD#{(km^X<}4cr6(*Tt&fy7(@`707531L$NPNC1NZF#G~!ol6cl9q(XB2dy^+ zZL|Tcz=NN#11i1Xtte2j1y0l;2KWRA(6Az?7z9o3nTd-*7A!*#J^(G81Ffh7tzrQc zfK1@AS~GJqYeq98YbH=S2c>*aZUH56kP>jc54Qna5QA30V087tX9GcNXY^Imuo@pU zn**wtQ#;gzd6<|$Wr-uVFdHX3D<|kAYVh_@9u+Qj9yTdWem((EjRQU;h>_1gms6OV zjhmHCh#j<1gB`TZS5l6fg_)a8nA4bzkByUsgBjdLVq#%uV*#BrAUjD=o1K-BmramE zM3#+(g_Vhom4lm&ONg6SmLIgRPl%I+pBdEO;NTG8VCQ3(6Sww~Vq;?kRnnlze=ueO zU5v%a#wNfa=VQh#1)Be7=VfPNXS&VgW22zOF3QTz#K_7f#>FSe#S8AXfm*9f%-nL~ z!a9=NV%)rJeC&cs{48uN#_phXdZ79PI_1y8&c?4U%Pq$STEW7|#3CRp%E`gU%E`>c z$jKqald(itnU$HDk5h~Te3%0(2QNE#WC7Ax0UHF`D#{}tYR@MF+UO112+hta#45@P z+BL{21R5RSljh}<=FzeiVFj%K1lKkUj0|oJ3{3NxPBCOK{05cLI~X#dOPn(Wb}+zJ z{RiCH!N76>bYK-^yAkMABha=ZPU!X{NE2}f1E^Srok9g-OI_H(AO$i{U<ZTRogECI zvL1B&h#Ium2GOw7jzH>RyAwcc(4Hp{4Qd#GXj{;UNl1GQLH2uG*umhT4{?(h)GdBc z8dMDg>+fKQ6WGC!0NTAEu!AAx!VZQM{T&P-d$T~ZGXe}Q;E`Hk(DE=baEb@z7*KT& zUd5+oZpS1B>g9q?#}WkX&H*nf1!V^&Gg~ImYJbquZY6EdE;cssszN5v3Nt47flPv+ zVSCUxe`0{3Br6jW2P-ef0U<SZ(6JQEpvx)*RXN$&In@O@#l?l;bvC=2$Wab1@M1tV zW>CMEPlJPliG>BUlJ6ulA1gPja;2a)Hya}pBM+wvUlTuc88Zi~ICs*&^jsb(R?w0t zW>ywqQBjVGvMd}dp#AZDpv9wHT&%pTI$iuqoS;4vBO99(Uoqo^SZ)b+c4p85VMYe$ z|Nj^sFr8pfX3z(viCqj_43gj?oC|uQm88H925Hb<P|(uwJJ9`1iuwkI;BW-hkKpz2 z(9#-IMA<Sz%Vs09_%P5RUZ5owpxH@lZecc7CeYzi%&bf&7}?pyc*FlKUBaut!44X* zVPzHJ4rj~-6`gD>pj)*0|G#H^&UBI?8?q*F7Xvr+G&F939SorK2s#xl=E4q!7=6eI zX`na<$>qY_3EF#<1u9QLaW2Qi2CCqp$DDzxeo*nrrUdHXs3R>|26a0?=Wc*jwScBE z%*?@i^Fc)`^vnzJ#z-T`dJfP`r5eJ^jA@~;$_UghU}j+v)8tbG?Q7r==HzA*W#eY$ z66W9*<5Do;18u$scUGA=IHY+vCB%h6Q`?}zkB6H_ON^C+MGlfKKmo|j#&nX2l~q_w zjPv9waYGT%VP?Xd=CWLTklhX-gFqb_Hda1E(CH~0EUX-$u`DiDZdN`?Q1_69l}iCM zQpG3E0baz%BMUBG*;skm3>bM5xFtB)SitoaXbj>M(<z1}3}%ot(aSIkoF;mqX#zxp z!XHGpU)aF_qCqWw(741LP<0OqZZQ#AW*JaF&=@jKi`-iS2OVq@1W5uk>n{dggMfTs z5jd(KL%wp1&_+JeSwWy23f=k*icna!1=@Kd%Y-<k4iufxglQ(0=qoJ6%E-*f%EZnK zTI0>k%EAGfqG07?1$Dc4<aj^}`x!wiVwl*Nn8B0#>_U7TqMW|mlI(13pv~g!yd27I z$^t^{JWNbn%v_>eS|M60ESxON9PI2;-2U8RoZP%@Y}{<p7BbwT+$=m?Tq2-dGweK| z(IiGjP;z(S7GY;+WMKoXi9E?Hz{<_0(Imzx1RBfYVdfCvWC9I&fCjv{*+FAr0#X93 z%xs`lO)MZKpa^DS;sPD##RwWE1uZw@V^{W277}3R<>ugL<(K8RDYY?X<7NY`3SeYn z;pgNK<kSk#5>yai<z-?P1+4&O=jCMM0}Z>f>brA`faW_`S*3YP82h2c1f-k*weM}2 zPBK`*&ZFXjF1m)56CfJ4PuxIY2ZIr44-KeLvC!YeAPSxp-NB#^UfK;UJ0RsOwBH5Z zglY!LW8h7xpq8PMHfZMv==e5pn;SZpl^Dt`$_nnjvulYQ;*by%W@ZKL&14nfbpQ9! z1JrV6WM<)EVqrST$j&a#8~yL1H3vUC7dtO2FC!xh3!4y^9tR&Q2k0ziHepUTM$Sj} z@YXQ6j%0RaI>~T=VG$_p?_fBn583Z-d<V4ebO(bm(#|_afgKE>6##Z1H3B;roG<KP z0ExL>*umfi74ro3dGvQM92D5Wu;s!IhAsL#7?$4I!7%s24u-iPw!jXC1s8TOEP%2X zU)aI0RA2|giVHg!R_O0w*dnllVH-%Fzz&8z7j`i0(TBL<5a?7uWAI=Ks2T(HX+W6` zR5U?aUT_l8$YT_Q%;st{fyy{gR|Z_Zfev_tF7JUg{J?WW(A<Q~R#svIANZ)Q$B42D z8q_?6<U>#m0BW*>x4p4L>QPt^9yA3iXllb`1{xC-OKKKS<YZ@K25qd=lmN}XgHB#x z;$UOu;N=j}0PTNaX5#=&!?|(_vvM=Cu?cY-fKE~aPi}zDzhPlzV&i6GVrB;C1QyWI z4J<rD+)PZYY@oS&RxWmNc41)w77jMhf?$v;M$i~7Xp#^#!^y|NDZtGN8Y=<~rGXAe zWEbEt;TB>8oeBa;LhP)<oC1o1_Dv2VS|Y4m;1lvhIK*|uZL94B<OMiDdu`Yh1*iS% z35O(0CN@?9PGd$!K1p8Cnoa>GMixdEZdQH;0X7~sUMWz2fm4KwQ-n*_T9%oOnOmHj z9n_}-_p*68c_eu_d8B!mS(!OSK&S3;iExSNh)SAB@PVdxnEBY*!3T%^`)0@?06I4X zREmglM=+N3un7wAvw*vFpft?Lv;f@B+Yd>@pmrYUgiz#mo*z;>Ph4OJ1E~E5qCx#V z5Dn_@foRxil_0kM9muL4eSsYeu=X2B+#0k^4C(9#&^Zx-7j`fNLd9UqQL(kpKxSou z>T5Io9Sj!wI~c6>A^o9fNE-um5COEzhop0J(Af`aw#=Y&ML;X%K~oFhemb}v0^XOW z1+5OCNmQAS5!`_k1<l55GlFG7H8!Z~Ha9X$4CEH&;NoUgQFd1rR1{)iXJcYx1|O`! z$i^zjZOb9R#>)gs9URK$oPuoJJZzkToYO$3Eb(%4fcls)Ma<Af8zT#g0EeYzp{2CB z6dMm{wugz2gI$or{)HMV7YjEZXfZ3Rq+s5^*br_pHqZ$?tb$y8vV0%JwZ+***@gJr z-m8PwLJEM_F-Zv)Gfsq-#i0H=6NB3S_e@WjZZi}z9D~mRMKZL2tLR999Sortb})p3 zT0L^0W5PtB*%(qUvMKR1vVjjM!#UIn*|LRYA1tVLHnL{~t?EOXriGL|po7ey18(3W z1J%I;w~$5TXp_(2kv`DDpP*4Xh;9f8IuO*z8e~4K?6PMxGcjd)1Q|kSVq)cFmrL^o zjlFWSDzb<$gJ%CZ_&_~5ZgFm;p;z#j7pTJoZ4`m-<>cd%^RwWU1^F|jkbXK3=u zaDt*kjDwAnl^Hbk$Hd4u8#I9o8ZHC1p2dQ_K<5^5uyTuXY8mo_TkIe?@X#1DGYhwZ z1n9IDNsyUrJnW!T!MH>?wG9PX!7D^-*<{&xxx_%Hwg@Q+xW!6>$6`Ul6rgc6@J2os z4pymf8$Nl^Xe_87$H~IR%f>3o%F4+KI!Ft2)|aAypc21<gE)Be8F=(iQI=C2v`I}s zQJ7DPpG%Y*bmSH<s}ZX(s~`(I3uv5(ja!V{*d8<{1zHcqBIKY8YJsq`fR-RivvRX= zvVf*x#kdsA1zFjc**QRKdBHtjW)?v+ZEh)E2^LP!jSNf-pfTS%rc(?)40#OJpweU) zgB*0sR}S3UV%WuC4qkb_iy;#{8?}Q0R3wOA*uelB>$QTWMMw&SlWa=tpv(w9!2&d1 zho~h`C!&nSjKsx2yAB}vU!D<sHXW$8VFI0p2c19yH8nvKNTAjvQ;@hQGZPnR`kIBE zRm4(-TLN@2m1YR9EC&}OD+{PI0vh&V19e6~=L<6`atd*<f<lLbRX~A{m4^*<t1V9& z6C*R5kPyF)u^H${D=uahRu%yfaW2ycaW)R70tG*FF;xN3v1hz&GRly1f7sZS1zUJz zz&#r9U=ULnpBe{bBo^Ec2i=a$#>&jj!p5_KTajB#iklNO*T~4i!6D5Z&m+sh#>U9V zCC4cW%j?IOo-*BGn99fs&+8QoE5LcZLSP3&$%P#ZCD8Dd0j*O<$?c#aGtlH52*Zyb zgRiuM*ZJTbN#Fq<P^dx+Pf(Q(>hOY2*D*0SQ3IXe1k0D8xnVPSQGihxfSYlk)xO{X zcyM_FGEI+J8Eg~OiJ&u{KnFaDfJSWLOMszeJ!tX>G(Kex9l8hE2r7Rdv^b<60PaRW zM9l3NAq52^6X--Ub{^249#&4!PHWIEP98>P9&Q#M7FIzHRvr#+K~`>29(EpX4jvZJ zXpJl%XivH%D-Wj#Cp#azpaQ>Xh&XutA1KN|V=kbq1gZmAWfJ@lg@{A4nt%}KCU{;@ zPm3E{Ndj8Hz%8$1rN+k1$}PsFWeh7uK-mpckT9_@@#(Aav-5)X7_ozn#$)AR5#(VL z1f3Yl#K+3S3OXK*jfIt;gIj=`jfIy3ycHaD2nTpXsg6yS4YWmHl$%3{LqtUow1-%L zgN>Vmlbe-`gNd1wo0X57OMruwmzkB1g;SIhw7!CsiItrNx`_omRRt<q#luYaWcazo zx!HKx*m&5uSw+DIw{fv@2y*br@CIcmAj%+VNltzy4kk8U(22YPN<zp5kqN6PxFBNZ zW9O6Lmey4eVq|1yVG(jf6hhpr0-%$-*_qjxIfXd2>;)mGlY+v8lb@59lbM5^iyL$X zAZWWg=on(~^cV*dXyHE#c=n8qotGUvC&j?Pw1DX(LpQ@V*eHP}bTd0>@LA`=4h9|2 zK{4P~Hp4CkSBB}}k?K_pir_r7N?-@W+6y}v)<S2;Ap_H()CxII3be!>!~->$p+i65 z5o_@H5UdlbW`bN|fli8s6je|Xe7q+cs8I|r`ydQhpBAJJbi5fGD9?zAfU*EHXo}nf ze4q_zq6$>VK~KYF0-q5BS``LK`AqXbht7#|n+r&=aWJtkg60vJnK{HnSh?7Q^u>cX zcvwJF;>?_^d>pz0Dx4hPp>9?t#t;En@W>_~yQCH$3o8o;c#9w?Ie?Bl26cNug%mpr zIM}&F*m?NaK=mmoD}b^DGZV{V@USP3f}oB>3Fy>1$Sk>-1Se>(DQNytP>Pd{O`MI3 ziItI=i&ssMg`JrPbet@=IJdY8D2Ia1mf_M8Y~T>&;NS%hg0izp^D-rHORz)AOwgb@ z3p2NZC}<c%4s?_)Cx<vY2QNFnH0Zoc&;T&#KtEPC4kiu(Zb21sP7%;*KhR<U4puHP zE+I}K#@*Zs94u_i@_e9u%%B-_o>(4``Jm*+#KbDV%L%$ll9563|9hrFrrQk1psRTi zdr+f6gNvX+CVkKmC<ca%pjIj5$SY7421_97dQ2!|6`*)Us<}XAoR}zNhZQ6NAd{do zCY976TL9VAVZAJH3c$Y26uNBB%otKCgAxo(HON8W6{R2stV~Bf?iEy&iZL1-^5g<- zzGGn(;<o1$0&Qbw;p5=r<xy5u;S&c9VKQ;Zig1hbNL$LVa<PhN3redCf=V7n(0Cm) zGaDZlC<1ucS-IH+RYmyZ_}O{cI6#MrNU(B&4(8`z<&okx^pX?+t%?JU{R{Kha|p3> zv#_%8u(R^8i79}}Jq{Vr&QESuB@NKBDlQ3T4t`Z3c3utvMSfN`(5h>3Eg^9=Ztxr^ z6R0TR*OwR3lj0KQV&-MK!CWSwB*GyI+78Pq#?2+h#>LLc&cwpTB`wV^$SNwx!OF_Q z$;-jS1iC<6Ng8x|C@YhI1ZW;YgiA;cG=vV?Nyfp#&BqSfg#jv*Aq_~7RRV?@5{jV4 zoj4n4E2%gSj|e9l7YiRK@q)@<CQdnJb|F@2ekK-9P*;?R6|}kxv=&K_n_okUQ<$4m ziJJv<j+nBc2s8&VF)%XlF)%WPF`Z=agw3QYFzA8{B+&UIp!2<T1$Hp#gT_#l^>;9+ z>4Ww^gXY+FFu>;4K-=R%$NGTy9-u)tMbN059BBR%GK2!2I|8jsV+S3i4et7b<}qQj zn4t4(z)f|~BpW#4K-UW!X);bo<CWw9PbxF9%890l$g+Z3(~QjA>_Qwa+`^FY7baGD z(O7P24h|M(Mo=Bg%5;*Em5Gy;m4%B{ot>9Wkck;|)H)kKTjak7aRTD3OiXMXlDsL5 zVxi!)!6FDc!Iq6xfWweigp~=j0E&^p>HkNjMNFp|(i!H1TAPqlhV=AzFk~RjQE(yk zT|whcpg9T<4H|y}(SjFtFbIOivypDf(1V_i1fpSmR}kCr4&t^2(AbSVbp8M~kC1#} z2SYM+EGHAxPxS|%XJr5%|7He{V4<vi0d-`|z&rjytx<D3Mq4HmHFMBLaU;;32V$Uc zXh=Z;Y6^kdM9Pp>8K}W!VhWu|uwsmb40b{K3(PFs%CZ~+pl$|>5HmlA06QOtkTht` zGaIWAw*v=1J0A-xBNGRowz9kyr!c4(<dNfxZ&TwH1RZ$F3?5}X1&)K%bIL57ECQS& z9PFS5kdzW=H5w>6g9>)gB&xKal)KvTHa;Z|@KOEj9I`xZr_?-T^<5>z_?SVtpNWal z&|FAeoRytb#!Z<~+>J|^jU9B`8zbmG6Q&BLlME>g48mAPsKg=nC_u_BP*G$A?!+UH z`NB&^aD@!sTL~-2P|GxPGcl<^ZgF-_HWqen&{12g;FJ0oLF<2*Ie0k4G{soCSXo#( z*oC>AxkT8w*qAx_IhdK5ICwdv&7?W`I9R#(IYc-;xFx}B4|&<eG{iUsxmZ|OI0d<w z*gyw3GlS=1SXsrmh1EptYU~7+1VMwej7-8DqB`PE%}%hPAXaHkaYG3<9yU=OvB1TF z;`-uz;-J12E1M*bsJ5tmgM+LkXt{@sxeTWusP_pPW&n@5voSC-FJU^#$Oo@`mgw(b zSgyZ=VYU7ahMW3381CrrV0Zu?6M+x<iGeqCLpsk8(g-o<3uzsINTg%Fp@9uLAOSjB z2&$tXdO@vracE_Nh#Jrk3&;>q>IF>|gVQZMc0e5r)By&F6ttkh7G<F5Q&U$1rF@85 zI0@2(rUQI{t2%^4lhOlSOJF9Z=+7+%TBgMU8W(2)Et_EG;sq5#EZ}Aj8ylzv4mx-T zbXEpv1r+EASWX^Lt-!*@%`U`g%`ME%&H@@7WMO4tW?|tL;AUk7-8jJrn&4+-V*#z4 z;T7a%1)ZV=vW1n6U4++?OPHODiJ60&g9$V)0h;RpDFE&NWM*aN5d>}TWaVUIVdG&J z;dBIDTf@T4#=#1*f|;3viybsp2|729g^7ikk)4f+or8^67-R=%?0}VnU4%QFor{%& zg_#w!B%2AmsEn1Jl@V$IGYbnRFQ^Uztwm=C^>SF4PO`Fza`VZ8Dl|SBK5hvfMHfYW zIes2N&>)o%8?Q7k=v;4U&^A?0VNMRv_FEZC8IV$8(5xJ*Fqe?35U&(3w<x!&uPVO+ zAD1BL<OoJa4q+|<1p%E19RURaR(4iC89ols)jZ6s5?tcO5}>naRRvkOSb3#DM;`OZ z@^J}ssrjk0^RNr53i5)M$AC6%h^UM3Nb+(Db4nOX@=5UtDhP1!v4KZhMA$`j#dM=| z1>^<zWcauQKu0UFu!?gFC<(H0vkNML1~vHP`I*^R_+<IHM7g*`xMXc)A(@O_27Dh7 zsISb(z|FwGG==FT!z^e|8FDp`JoFxnX`rL!!1)I=^+RT;Ac-EdMiI143nih0atWfF z3%U3Ry--3)(THLTcFrjz6PcTV2FO8q05v&-N5oCz`K38Phir4Q3d#$zakH_ov$Jt9 zaq@5ostR%l@pFi9d2ov{f!2=-aVpp<fKEMS2b};dC@O0$$1TRq#LdJk!4tqG#vv%g zDWWdI$_|<@0!>JPw|R<ciEs!Da)@v`afz{my0+Y)159PDWI>0&^MEG1Ko?MOv5IPn zv2wDqbF;B>fHwXxgEk?bWMpRoZwZ$&mf{lTWaVOFWM|?O=a#XM;gJJPcC+(<PM+6~ z(dQB8Vd3H6<YkwZ)s55@R1jnlVCMvllgjhS+sU)@f+oS3IhdHZSUH6_73>vw6+o+T zK>NeF`8fpS1a!i6c_n!{1h_ePS$M>_Iruo_ZRI)mI5>qkKrK{0P)272?Nwu8U}Bod zbcP`XvaV(qgB61ZxD90mJxA3;U<ZR2s10SS4?5})RA<A>PDq)D67is!N0jr|K`{!x zAPX{Y3^`I&%|zXn$p&eV1QwB?2sRUwjo^{u;O1u+loR9?<7MUIX6It&<mVLC5akf! z<5cIf;1Fcx;9%wv=TWj(<QC@Q-~~-bFf#IhCZoU?QZccB{L00_!y#oL$s@+i%ngbJ zCKjesEUYqI(q_^knj##+OpH7%d@_7WuFAYhpjmZhR#8?FbrG{1GXX_GZZXi9Br^w# ze3P&aXb%FL0JnOR8XGSwKj@@#0d7fd%^*z?RS_0pb{5cxB)AR&oeNjMbdq5j1NdB8 zhFuJH4Bp`0G9yDXIAHArb}*P<*uemzL4*F@0y`LdFYI7w7TCei3U7l#HZy`p+d&}+ zFW<2;*u=y^+mFnwnZel-v>FVYy}*aYsez8t12>&OfeXo>xJgj10ySnqeJA)LC$T`r ziQ)X>pz&R17G5?E@G%DLe4w#Gc7AqoLvbcHCT=lq(7gtd+-&@yRU6D~yv&>|if0VC zKr4ZnS=q&SLjG+C;u2#6ty5rRW#wn*66IoMX9DFvW+q`x(AFW)9Z4dfMV#P^#z13G zOhR0?%h*MP1zEsdSr+hV;U}57*=4xc`B`~*xwt^*3xm#@<rDzrFit^ESqoWaHYPqP z(7`jHVwR7a16)Qjf_i9XpsSTYO96P<1vmt?c)0~Q_{2er2)G16XN*YbN^<am#!Nta z;@Me*m4sQj*_lAycksb0B9c;^oS>;K(8+L&46gsZ8GV>;Ggvb4f!f)-7<3sx$152a zg14fwLB?X)KwCYbd$B<qK)}T!Xyk*BQ4KVnAu1>$CN2iLfef@kjnSQj5j2H8k6(?A zjfI7iooOL>_6>A}l9IYIE9ej+4IvgzW^Q(_KsI4cQ8iG$=j4#$W7gpWou~(LCx^Nq zJ3lKgGZPChyD-P!bzCCgO|DEV44~U(KQNXs-DZdcoyh?@h7fv2EGXV#nGhEnT)vuv zZ}o!Yd>kZW7HIQ6JG(F^pByI#I}1BE2PZ#h@{OGvRARDobBHL4FfoIpo`o57KNb_H zJZ53y5*HI@<KO_DGXXkhnwy=ClTBDbn27~6MG3n7L{x>9kDrH`nUz(LOHf5fR9BRh zi&a1gH1sd1Drk^wz{<@ktRW0KF^ivriHn63-0Ej!VPTc!7SRFCh6*Zy&Lq-{)nnsj z<Co*-;OCIB1eJq~|GgPGm~JyzGl)UrQkX#xoLxa(L|f22F=(1s4b=7n6>(<bVj`du z%-Gr3mDnK@y0CN4Ku7X{$Fe|s?jY+0*;p8vI5=3j*@%f&rgAo6PA*X)9%j(3TpUt- zf39H0EHfXwFb7i*B4$B;@M5%L5@y=X5C}gz7<7Fes1qlmzk@*nRBwaN5k!;&ptYao z&@L}hWU{k?*7HF2G{F-CN-@L+x<d{$+8xLax^zZNR}8cUkpr|zm5s>}v?7BYw01^B zLxfv|n~9yBnG3W%k5`6^hYxg%AR9M369*d`8xuPxE1x_+8y^pc0%*xM8#5cDJ&ORl zkg||rq7knI4~HPACBp=oW8mlD65-a3)D_niXA=i4$pcN?D)A~hEAmS5uy8Xmv9ofE zb1OM1@+pJbc%UU042=K({cmOb^nV+JIJ7+jT1UYFj#yFXnP)=!28OJl4XEsVjNskm zdf?r`M&^oEjEpZp_gt{EiE#bP=M-h<X5nUH2Q3(0!zJX;#LLFV0y=Y27SsV@WMKUN zlF5Z(FVjT^J?MEtkhT+O{S;{UR6rkc<ss-AL(qAs%xK*@XrO~<R-u!wkgx}BcQ!L( zbmkIf=jH+JHfG}kHI-So*jTt&xrI5ncsW@4CHX-YLUFRPu!GKWVPm?;%pwTd<j*O@ z&B6t~#D|%MhmDn6hMO5wuCTJOgZgivKw@H$|Nn`Jmr00WHp3xkD1r9Bflk}r!2oOd zse#6JL7@bxz`;cYN{UbdZ3a+>o?Z!-hMee!F=7VWX97B_*USWT@-L`0hg`3L`Y@o3 zqoxEpe;nHV2Nga@2^V%M3g|Q@aWN5fGsrSp=%zW)oEF4&pj}nqo7O;jnYfr3K}RN; zaSF1svx5(5<78#!VS^mA16oSJ#l;CaFjt5}Rui;>AKIN~W@8o9QR0>1;}GJ6Tx}w% z%*P3;^Faf-Tne0$QWBh?`+T^WSlK~Gc&UM|0Rq)#pvgvNPy>>ggNF%}BLvk%c%*n) z1er9wZFN8!?ieS5mQ=HHfu=wNIGEXZrFb~_*hOVom^j&G6jcSJKzkaQG`PiBm>F4E z_(7*AFtLG-YywrJpyCZQo5}<p*8pwA=3-?QX5nJz7Uz_e;|3ib1sZe$b+6d@I6>zY zGI21ma4^epGcz-SPL^U};bY?x0+lq3OibLMsa#>u9&K(e&?+BhZeGyDI>-bLF;!VX z9r63Z>H^H{(?Oeg!P_f9D}EV4YrdG7IaL${xj`COIg~+Xb}}$AnEn66WXE)Zp@3mA zgA}Ax^<c07XFgD?vg-oqf;|I6(6)aOHqhBnNWEa_l0uXTc4&VW)I3qwV>A^6uRVYs zC<(cp1>D6j0!1~Xg#+q`z_+(R3OF$~adtb{zH((HL`q=?-Qx#3Y!a$Y9CD5h*dQhw z$T&AME31&14rs|AFB>PD2pbzK51TM(K_F<Q8|XSvHZ}n+19pBkK4w<%;!}GeDNw5k zbc-W96FUz(uZ$pQ&9ndq7idR<FsGgs=qPy5+&m-W6lPY?P6H+uK4U{rYT#j$l>@Do z0i`j}i~=Jwr=+-mAgFHTW91U$kdbGU0Zm-7gUSRJE*?p4T_<7CaiySLFQ7#_T%4f& zH7tzG?CipzCEiS|(t=D$poOcTbj{4irO1=ZEylqL>Y=i5vT}m&s{~6ivk2Shf;LTo zX4KeHx#Z;Kxw(Wmlnp^MgS`53pv$G$SvXiYWY{<bIAk>WxWEl?CT3<{JxD)N_5Wuk zIVKT?E@+7YT6hZSSb(A)a=8g;4gfx@iZTZPI^_|(Lk==F!X^ga6$kD>S}`II44RvP zmmEXR-~%ms1Lb^Z`hlH*3n@uKgCJ_4)5Jjg;6UXMIC4SB#mtCNDKJ+-05o{cBEn|^ zx{`p6m5q;+Pmqm=l}m(2R)rgU&NgWF2DD>cOpt|xTU-!yAs9O^o16d(C{J>8YJlz% z1KkzI%FM*cs~N>5#tohZ6alS42dzgD;na5k-H8awIiQ>iiYrz&HZf-tJ~;snJ|-b1 z69Wl(Rsl9{W)>DfPHrL4c5)^bPE{#xNj}iBWEC#Zp?vJ(YP`&#ozdV3k!0m%1)tLZ z8g~bs*{vw$D+gI>0Ud>BWM*R#vDfDm<z``LW#?xX1RX)a!NShNCZs4}>>|p>$^xki zK=*p-F`Zy&WY`T`rP#<&1kSTX0y`K$XUBpzL4w$@TWLV-R?v+%`a2jJ1$Hp(y~D7B z0kk`^3RGu+mUqLhI0nT6=p<3_3OUeT33hO;0bWW2sWL!Qgy2;#YG&%7BjrISXMr|F zKq3lO6@Xe{pjfkG1owA9xn2%@!L6wo=uBEQP+bALszQ_*bj&=ciUD2s1xr+XpjAC$ z(8V*LGzdO33t|h%bTxC(q8U9lRsk+^E<sjMPluU_n~Rm5hn<C!l}~^bd^{#6n*^wb z&m+#QY!14I54;`)lwH9Xw7Z^#jg?Q7iJggsgO!DiMN*NSpMzaYOq88ph6iL6Kj<_M z@LVDblRJ+HD{BXI@R-lkhz)e9m9!iuxElmo+r}iQ$t%vn0lKM0fCIFL12ihi#AwMU z&B4md$ifOvyj-9Y89`?bLnJ{-jD?+*-(DHKc!iZin2VVMG#<vv3%Y;>wD?Dai${!G zPMVn&bQd2JJCh*jut-pe#LB_W$_d)w!^Fi3Dy}-XrP(1HHP|^MdH!XyaI$cTaBvH8 zsAz$_%B?5MCBn_eDbLQ#3ToP$NOD3BTx4SARsv1pfDGecWnf~E{r{Oskx7`Lo?#{f zWM}OzhHQp5a4(sIK?|JNKs(i7mol^o>|mI7X9oj^zz&A#kjn|!`Iyu|B?kC-SxEdt zNN~XbiAQL$04gy+B?6>{0h%F%tldJJ+k=dcny8tBuh;^oG&9f^Ads;jBS180beByW za`KuwWJMMmJ0BBhvKqADnn@lsPAV)e&iRF%mz9Hw3A8<hi9=k3Ly(h0hKrL+kb_H- zjg^~&OCGetk&6p7ILgYyA!eb)Eylyb$-)h~o)<K!#|m2bEX<)`B)|$f^%WGCjGzNA zwA1-y1vvOPj6G#Jh1i){IrunO*+CbDGBGkuW9Me()6)b+FAuAZC=)CA8f4ylK6yrV z4iRS15Cszp3lldh8#kMTJP&A^4%9ASW)<LI=LJ<gOiav7e5`z8+=?1}pyL`qMF%)J zf+ihV*jYtPmAS=vKsWoyfX+hVkq}hi%g_du9E^;Tpd;H@nYqPzIEA@E4JBa?11?#1 zX<1O?fr*icPm_h0mxqNFH0JdGKLZ1!4|t!WIiyu!%Mc8XbX(}gRuB!^BL})MJQ%zf z54vZfL?2YL7#Ip$fe%&!?K))#9lrpIU&xX;P!yR#uEhqQ-XI355Y#}&w?L-<L7U(p zqbkbK;YCo<V9O|I0xpFhgC%C>W>$=#YyKdG43snz`^70PF2oGF=#7V;pIt}<e69`X zs021H86MDPV9=xvq)o=fA;t}w&=Ul0N&#(#X9X>d(g6)xfEsc<+zQ;>pj)5$IfMlH zSlGeyge)BFe0s7RLY&Mz;C%`lvb<d2x`L5~TM%@Cvj8hQ7c;0s#K_3P%FN5p4_bo8 z1L}~l2(bxp*dEpg-L@>i4mqTbi5Ya?tO=uppd>2@@UZf+3rVmtF|%>W^RaNS@`-av z$bv530qsl%tpic}Z_A{{B+Rgv;XS+u1L>`x_60yU8))bo7&3xR@fKkdh2$(asl*04 zMUzcQ9kdx;337f8sN@ID%h@r4de5N37Su3@O`jNp`pibqV73DtR}bkssKZxRf!YC( zbA93U1f;=lVyb2WzH9`N=fNawQv|3Whg}j2Zq&hT0NoJ83~B{}CvQO&10*+ttN}Gb zp?fL8C-s7E_W>KrBnP@f7ZmiYf~IQRVm#mzK0!0JtOBg8pwkpV%Z<2%In`|Vm>8M4 zMI^bESV2+1!3^4X#397Z&d0&cE(W@QQB(#r@c?RTff^LdOq|@ToI>27yC1n(S;bgE z_bl>Baci3jfi49BjqpQK6%!jT7b`D2GdC+}`!c98DagUX$E08^!pz3P#s%752Rez7 znS~8}!$LC)`1o^B2ZNc<#0YdfD-WBL4EU5$(4r7dDRC|#b`~ZMCN53^4oP{&f2`s> z|3W$VIXHMZ_$0a2K;;iJbo)Bk1)w2l76C&|W;P~X(4Z>|FE<Nlr8gTFXh#KjDGR5Z z2pbPOsHMRHu2Gnn7`a&3d01IN(}3WL5j1>bs|~u@gqcGabPFRZKP%|KP%dFE5fuS0 z@T49a3p+Ch59nZ9Pzl1v3tGU$1-?6-ixqSX8zbYtW1KSbay%@oEbM%2%4(nnIx`cu zjx;M9E4LOe7Y9FwlsXS+&kiFK6APCL=w7M+|CpqiPB2t3tOAugkmDO%LB}`<>|n^d zu!A8_e+NVC9muUgY#=stk5nx5)*x5VnD`ygnt~k+`k<xO;5`~U7%ZUs89+2>NEfvH z8l)Dqzt>5B2Lp%=+OG{V2Q(+1pudA5Phbc9)*leN0AxRWF(SmwD$uwSXqW)hQjuj6 zVUuGtMqCvP$}k{FNW&LaKY>>Qg2&pyYZt&<KbSy;8zduwPEH5cS)h(HxYz`3y#tN* zGJ=+KLk}+raskamgMySDv`L1Yhl5)JRAg|8f#$zJ>&66S`NX6_V|t*T2@?ma7`Kst z7%MY}D4z&u0+AQA2v=NCNRSP5?iVZQ3<(Jd(0z1Ftl%m16Ra#ClT?b?g+T2MaJ|O{ zs(?V14l6eYpSBc-AP4BiMh;;P_c?-UTx^WY+-!mzmJ77pMflhtiIItohfm+yNxqU- z7JT6^XkiPhD0d`dMF+16Z0|4=gB1e<!*QmQ3~~$(42__e-^IYp0J_!Fk(J>VgAl_j z1|bHfSVw6FP6i<cNd_SXO$H$bO9mkZPX-}|NCqK>Oa>u_N(Lc@P6i={nG8Y<D;b0s zb}|StoCKK?yMuulbT8P29SlMOI~YK#<v@HVP%9X;cSk~h2ZOZ!E(RF}PRQO#F%ih{ zFXV(d$RN8NBlO-fVG%aSxG|_&Lhj;1?);Kt6g|Ms&L+%l!7T_rQHPP42{bps<jEz( z!z9SY$6>)K$il|R!p6<S&Sb>K&&mNgitP}G0za<|=#p|)W<gOg&`L4TeG*K63q)i< zqe-mnqCAYtxJ1~%gIS<zpOsYzbX*bx)Bkt>y%{bton%mCh-K)6gr5WhXb=q?ejE(1 z7&u_z$H5@Uz`>x&z`<b2z`@|jz`+p7z`>Boz`;<-z`@YTz`-z+frDWs0|&!S1`dXk zAX8#@Fi1f6M@oZ+DFq<=UO|mLchJ6gK?VkJ;{bG2C}?AC2x!whXe<+)XidNyv7y0d z1-eQcbTXtUXyQ>B6qb-$3EUe5jV6KaLQw<lf)WGu5!B4h)S#;lL8UzCm`G4P!New- z%>_PG85Fvp+pFC`o2^01z}bYkb(r~il_WVqBSGxkY?7?}pjH4A6RQ-jEU1290?jV) zFmW&$v4Q4~xS2pzJ5v}F8;hW@2nUA%E9e|{R(4eZRvuQ+kP+kGed?YPB2paSViq(I z&dSHZE+izt%FW2aE)P13pO2k!7q=uRJ%gI%OsuQ|A|jxBn4B0Gm<*XtGW5e%m6tNK zf`h6Qy2lVigZ3DLXwaTx(4D017ocq^(70qTC>%lKzmVlL;A#&(od;?I!>Ury&E}vc zE@+MdvStrdc7OvHdJGMu`~fYy6bBCzLQ*lx{4P`r_=F=d(56D<ZNK1>$H*+!lUs<D z1Kc|Xo$JfR&%q(Y&dkEf#VQUu#X*=4bnP{(B8NB!H!ByYz+e;N0Ih#x2c0&i#?B4i zDZ<Ul!OM}!CCmZ3-j4%RL#qquaB~ZQCc-)RIhnZFI5}B4z(<=ivj~bwaB@p=fVZcB z*QhYDa%u>!v}G4y=VavuS-~#E!6C@S!~(j<g@u)ciyt)d2b%h2Vdi4u;^$!JV*_nj z<YG}{<K|%IWaZ}L;1=Va587JJ2WtL-2CAjGrOl;zrFfXRK(k|P0^A(JoObMjLi{YC z20kM*E6NrXMh2_@{~1m&on%mf^pJMp-BYXvD{DY;ssxKuJo}2l`6bMgO9*sBDCo>@ zes%-Uo-IbuW=_y?YbTjl*~NJx|IM7q1G@hK)KLHztmUAB6;yD5<{PXT7?=Z?gcvq3 zrh-a^9Sj@wcQEu^*ul`Fzk?y|jw3UJ0z(=DW2_@H!+RKGKa9};V+4R1I~XiL8X6cZ zAR6|=81G>W1sEd$%-F#oa$yI92(%W~xU+*n{sLsU8gy_MXy-hLR=WVHNlh;7U@(EI z1?`Xr)zqLJ^0rVh*p0j(ao9b6X#zVKBJb>A039w7DX@b9wo4i$4!XOq2XrXdogECd zpo75#b}+!kLqOu7`}jaK>^{DFfgKF<FYI8LufKx<#9nk^2g4#LdnstQqW%sBkb5_Q zViI%_A?O0aczwvSxmNuh44t6%wi&b|3TwxLd!C?-2Nefx0svM0;Cu<LUeqAhs+oev zQoxOHb?}fFv>CuC3*LUu2v(~HUSbDU#HJ29PD+`LosSt!1v9Ad1TCBfHKD;)vw=xa zVF7ZMnHXcNs)Z;AF9#DRE4K(IpMnU7xTH8I==eY>ZY@zz+5tBLK?BUf+@^e>acxjL zn1z#*PlSbyg@v1yjfYK^SCE~RRhY+&QxH^tadSutv2d_*gZB6e@CyjCGcvP?@tJT5 zvvGpj<J_Rt`<kEwU_i5>pfmJ&1lajx1v!Pdn0c548HEJc1UNvKlZvx(^RqL7b|5k` zv2d_U8F318vV%^G6kxYH%poc)$jr*f!pSbkVbQL|%EJm;E5X9a!Y|GVYH@&E$;8AZ zBJQf$;svTHL08&}@rBNnH4)_F1C4bsu`sgo@W`v{Nw?c_3bAvtFtV^p^Ot_H;T8n# z31(zs=HmpP`O3s7$jT)EnZ$yOmzps!FiA2AGo&)?hUBF*{T&Rl`a2i|?m+hGbAs5= zb|^QL4Z7(Gbl)v#-y!JS2oM{T3qUCpmZDAW>|ihgrGDtL19Rv)Ol*5@L2Xpf{nIAk zJ~wCs+ztj18+7qXgg%5F4Z4H{YJWN?wF-j{tkB=V0N$YlOQGT-;$q<AAt1~9L5&&E z`c2S$4(MtYY{^f}40Hn^C=D5dhV6~OX<7`Hy1?nnOpGzwCO{m#*9z2c;$suwFyjG@ zZL{(7NrP?{=4WAHV;1LA;9+JJ6ENZyV`T>wX`HN}qbapG_(8{3g4#CB%-nn&(u$nI z+@SQqq^1hG9*mEjjfqc=FLIHvGArnOXkl)*sjBv3BA^xTpd`!2B_3g3Ys)DFI#-j8 zQ;EOhjxo0oXb&wTBk05^7B*(k9#}zE5zv|Qpd|tfpmT0NG1)K)F{CoAVPF8wbf6#7 z1-|%AnU4`Xb%r@61?n`Ln5vn9`?yF4z=FaFK0XC%w1E54;2ngJ4MQfd-Gh(}4eFAE ziv>_647!O!3|!embb_ZykVno;%xxH%tUy&92(z%Uin<u^NP=c)nc10H#n?axBCxQt za*1&Ah;l0%2||xZ0S#t@8t_akY^*{?DqLdRyfXY8eC$@CirnHH9K7u8pc6bn-3q2I zkUG%0OWbmjprzqLoXi}|?7Xa!@|>X23vfe+iA!9PU62!0C~&fHa0swVDS#HRGcq!Y zvx%{RuC!$5Vdoa-GOz)k(E^GiklEm!GAtZyq893$BA`QFL08>yu(E*;E#+nft>2U6 z(KHtaU3LLF35roloI{wKON5(S5;VWZ!okAIqsc1F3ffD=!o(rSA*BjBHV~BF!0y$Q z<`M&4!o@Db&dI^gA*agE3Tgp@ZD(TUQj!E+cEHZU%E<s4Q!)MT$>hu=#8Absm%#{> zvv)C=fDciD<ffSyb}-C@=B#-ab}-C?vLW>YWNr+3d<ELr0!Jd~&<${^fend(cE^C0 zsY9Appy5%_VMEXcE+|jI7j7Zicqro|@G%(?G03@ZkU>$<pu7_5wlh#FW)lZp$|?dX z{^c0OL5o;WHqM)vF*z}UPJLx!VPWUvWaH%kos_^K%*7?j&Bn{l$-xe~oKrv+JP-~# z9v;+kW)=_;VV4FEoPp;2*;)D74Y-8Z*cm~4a=7`x^Jl`GES$`i{xYl_ETHxtBNH2_ z(Ffj%)eFkpOe`!sYRVkKpoGKD%O)iY8fpQJB7o8|BNG#+q&S~2C{YQ3c4bM(ae;T5 za<ECT@^XuCaSC$^%JOmYbAZlEVgoIL1@~}4cd~MDuyC?6^RO~=vT;dqgO>M$(+{hx z2$MIrBs)83oD{q)nvstcbd?fl@STZCSq5~>h!7_e8w(d78!tPL6liax600C9CmSC- zmoSHd8Yd{(GBb1Q$#4jAfX9K^K(!AGXzvi4tSTR9QxQ0QF*9?iNPrCB0;Mha|K3cx zOu`IV3|koNAZd$%fe+jR0Nuoz4ZTws#D<M-fY|FV>|j{0zXN<j`lbsz7&d_xK!CfQ zkVDqh%s_{;L5dAfLPI)*8@!PaG~#Avf|!*74YMKdB1GET3||QiS(`2{#wH57^%qpA zfsF#ET$G{-GWsSa0-c(HBrGFP!ZJfzmTh8YYG%r$!^p)U$IB@$D#*gh2%0A0<YMC# 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/LICENSE.txt b/wp-content/plugins/wp2pgpmail/phpcaptcha/LICENSE.txt new file mode 100644 index 000000000..9a749e685 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/LICENSE.txt @@ -0,0 +1,458 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/README.FONT.txt b/wp-content/plugins/wp2pgpmail/phpcaptcha/README.FONT.txt new file mode 100644 index 000000000..d4770de5a --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/README.FONT.txt @@ -0,0 +1,12 @@ +AHGBold.ttf is used by Securimage under the following license: + +Alte Haas Grotesk is a typeface that look like an helvetica printed in an old Muller-Brockmann Book. + +These fonts are freeware and can be distributed as long as they are +together with this text file. + +I would appreciate very much to see what you have done with it anyway. + +yann le coroller +www.yannlecoroller.com +yann@lecoroller.com \ No newline at end of file diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/README.txt b/wp-content/plugins/wp2pgpmail/phpcaptcha/README.txt new file mode 100644 index 000000000..b608018d4 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/README.txt @@ -0,0 +1,88 @@ +NAME: + + Securimage - A PHP class for creating and managing form CAPTCHA images + +VERSION: 2.0 BETA + +AUTHOR: + + Drew Phillips <drew@drew-phillips.com> + +DOWNLOAD: + + The latest version can always be + found at http://www.phpcaptcha.org + +DOCUMENTATION: + + Online documentation of the class, methods, and variables can + be found at http://www.phpcaptcha.org/Securimage_Docs/ + +REQUIREMENTS: + PHP 4.3.0 + GD 2.0 + FreeType (recommended, required for TTF support) + +SYNOPSIS: + + require_once 'securimage.php'; + + $image = new Securimage(); + + $image->show(); + + // Code Validation + + $image = new Securimage(); + if ($image->check($_POST['code']) == true) { + echo "Correct!"; + } else { + echo "Sorry, wrong code."; + } + +DESCRIPTION: + + What is Securimage? + + Securimage is a PHP class that is used to generate and validate CAPTCHA images. + The classes uses an existing PHP session or creates its own if none is found to store the + CAPTCHA code. Variables within the class are used to control the style and display of the image. + The class supports TTF fonts and effects for strengthening the security of the image. + If TTF support is not available, GD fonts can be used as well, but certain options such as + transparent text and angled letters cannot be used. + + +COPYRIGHT: + Copyright (c) 2009 Drew Phillips. All rights reserved. + This software is released under the GNU Lesser General Public License. + + ----------------------------------------------------------------------------- + Flash code created for Securimage by Douglas Walsh (www.douglaswalsh.net) + Many thanks for releasing this to the project! + + ------------------------------------------------------------------------------ + Portions of Securimage contain code from Han-Kwang Nienhuys' PHP captcha + + Han-Kwang Nienhuys' PHP captcha + Copyright June 2007 + + This copyright message and attribution must be preserved upon + modification. Redistribution under other licenses is expressly allowed. + Other licenses include GPL 2 or higher, BSD, and non-free licenses. + The original, unrestricted version can be obtained from + http://www.lagom.nl/linux/hkcaptcha/ + + ------------------------------------------------------------------------------- + AHGBold.ttf (AlteHaasGroteskBold.ttf) font was created by Yann Le Coroller and is distributed as freeware + + Alte Haas Grotesk is a typeface that look like an helvetica printed in an old Muller-Brockmann Book. + + These fonts are freeware and can be distributed as long as they are + together with this text file. + + I would appreciate very much to see what you have done with it anyway. + + yann le coroller + www.yannlecoroller.com + yann@lecoroller.com + diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg3.jpg b/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2d62d6320d11c71a542023ee3d9d98f55cf9c07 GIT binary patch literal 15854 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg4.jpg b/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37a22f88551240a67d68fd7136777c9b0ffbf221 GIT binary patch literal 16438 zcmex=<NpH&0WUXCHwH!~28I-d6b6R>Zx{q!N|UoI85kK@7(jvy|KBn2Ii}<%r81-( zU|?Wi{C}IFg@KWHz=QzIZ~)cL#K_3R#Kg$N1eYL|@&5pWAO}ML!!Kq=K?Wv4MrJ|A z|3?^_7#J8?m>C%v8DM~&ftiJkm4lOskqcxeOc+8lG6^t%>}O>Fxq*X~m4Shog^87s zja^7sM3h5NOj*U0!A!{{Bt<nf%u+EaSv=f0RL%UBAjk$3YZwI$9Rn2;C;q?1z{AYQ zz$C~l$Y9U#xA4#D&-!O~v!C6=z3I&!?jze~yDk^{&^$fdub{29Ix9Q+E_Z+YE`fFP zA78o=e>MJw`0n(yxSvYSo1BdHO#e59ulvvZ&&GZl+WTkJRfp_TlxQuj=X)U@(x&y} zdZcn+)b`_|m;6pGdz31~bkKF$^jGQ1Qy$My6PbOF`=@?bSWo$Vn}Vj7Hx6y-h<0w? z5|nE;LD2N1yLr@`A1hrlmu8jC;hj>?eOACtrH$Fh`w;gEyTG4Q)UCeS8~pipi7_+b zOqh-J@h_{dv}wPd*i`jJ>~SaCy-lX>nd{#9`MCc0G55w{;}4Bf?E-$52`*KVH~-MR z#yUbR^5}M!!lyd9taq=A6}?U{sJIZk_EzwkKTk_kMGTHC3G^^%sP1BFKP9hs#x?an z!|Wff(T0(i)*K0V&}XwrG%==cn|o%)eRC<jqubVemgt}Mr&*_)#b!xr(Ke+8+3X61 z<?LBC*VkUU{paN81{0ALrLSdAZS@m->^<wNdS%Ae1pWT9_p)L8W@da-a^^n7(#Esn zLruT%l(wDe@~ivJ3f42doTVDDHGX!5Shd`_s#kx*9{kZf&U$l3*Q-mn_UD$a+<mnB z`t_ttr$b_f6WT?T8~p|3ye*a~y*v_c{^$M1kN=hy>(8>Q+HC#R<jA(!fAo)Ay?S9d zW$VGYwUtrtOq#+>XF9CidR^$0z=r<zCMU`HEna&yKeeCU(5or%bAL;0;;n;5=X7@{ z_iH9+=)K#qd3rQs^RcG6d6(v<Ki6KUv9L{5smrm2`A&ccC{&ZQ_5a*Iq;<3F+|)Fs zc9z1Y6IOFQDcxl4?e=rW#WLNk=`)VhY=0t|5~281S$pb6QO2+T{D00|E+TsWjJ@ru zc!3_LUHjWhxK}xg)?}}lcw9I7ao0=r)Zjv+PR4{qr@g-#Pdrt4Mwmx)U)ImOy<CSP z|9n1h@|yJJAJ^R;_A*O{P7f@-(|jlE^P{cJp>NL}ZruD*!nWu`XW@;B>QkIG`cKR2 zpG!H)f9AeTM5yD^!+-Pn3;$YeZEP^T_|UgZyYNVJVI<d~E$7SC)sz$Eg?CD%)d|!D zKjojEC>5mmxt?R!;jK-nbD|5}<${h~h`n2wuD6Yuy_ePM?ozAs=fa%=oq4=mMVdL- zcP!ATS@`MAk+Arm`&&Xci_X<L<I2bJ__Sh}=!w@UWz%{;7cP1eops)@<7fT}qZ1pP zPq~F_CuuRiCMV|zGJe{Bw#aRl>(A}Y8>8)gZ|*wI`6B36{5$EGL-$@sOc&MT>dz~a z5uN`a;p^$ctjCj$=LK>--Xs07ZGYNRHw*Kp8xz$XR+oO4Nj)~DXi-PwI%kfcRomsx zi-~?%ZS7mmk@-))zq83ra(;{Cs`wfEd^Y>F9gq3>yD|T0YLpq*%^%*qfqqX4&2}xm z9^S8b>_?Zhm+AfavOEuE<cc(wNVwP@W&BjL@zV;CtW(dQ$MLMmG=F*QW8=X&MUST3 z^D*6YBjiey>9JLlP6y}Q=%1Zzn7&y^F34zR^iqc_wfj~-x1F32@AB~e#C;Wawmov* zt`_j{pUv(|Q%%^tZmwPO_)e|g$r}r{3m#edDRtrm<2Lmsp+KRf=iPLZTX!%jzM6Gi zt7hYYU3<?SSkW4}?Rvqnj$6@FC-yo{2zT4rryKwEb#$fV#+yqX1Q{u|dF`v0oGGMm zOn&mewAg8)tA4gW-xe6V^}0q*MY+RLR)+=qc5^IW&zom4A@_B1SlX<2Po5l!@9(_R zV{FeMG1!xcfcvNWX9d<ftoifsVA85{nwzX|epuJoJM)det!LtA?``qZj?Aiwp4-lv z{zK~D&WeN`Z_<iSDfS;f_n$#&(QVD^HD5nRbFRDfdJ6wXeYudPIR$LHIhH!I{CKi( z>)PJPS=l?4CkxiusTUbc*`siB;ivVdg?YI{<1Gtnd)};Sc$l7gFs3{}yY-oGVcGip z$oO7%t-o`<_B``eoB=94x)ni%hYWe8YoYdkhU~5S|70J@|GxO2;cfZ1U*|tf|Ifhp zpJAf?U*~`C|E>Mcp#7hL@%H)2*9+Ir+?TjpsH;5m=lk~T*9#6B?DX|4T~K(qY@LN$ z>CHPKH`TQsJ@DYzXB{c<>C9qFXU)b>#d4=ikEov0Iw-g9#Pdz7Gue;*;?2IT>cAMd zDf_bEfkMBC#2ycy>znj${E}{Ywt{Kriyq7M7iMMnl#5<7h&xfpdM<PNVb3e`E@`~c z30$>w!oha;)}<G8b~sLwIPgTQfHm?|*ya<`tEArTj*ULH-acljZ)j=iq-TG+4u&{; z`#zl+)y1l<nc~fE|AEI)fH&~W#}^#^4Lm*TW}gx;J9bs=;JVqdyLT11Z;Gj(Ey?zu zK`Z-8mco|o(k1d6yt1{8rhfl?ZHKGOvxsoPuEo}(3)$94`6t90BssB(tQOv(#4FbI zW!B|wy*CaWjyn2Pc2nefJ;i9rBRU?=pEfh4N&55_Zn(&QN@o6Pty@=O7B0L0@!nLw zrEhz+w{AAxkSIH|AZ+EvK+iI@m7DwZDo)&5pHR_KU{*M@Vbyl|OGRc^lTODpuDP+Y z`1qf?=W?$fZVG#wwY$Av_0ny#Tc;-l`KJ3+nH@0M_@hlHy~)X_jjf0wM$$s~R<@1j z!tCF=x@(<ZhW71DRrM_iSJ<E<xTaBWYFuyW3dz&kD*muVp0N=;xo<^BPGV7@uZL-f zlhv(+wtT<E<$>!C>TvYFyn5aAtBAkou1kJ*u6$W*DR=VEfm0oUXFiG+cC6qM$U3;> z8|!5@6@^5vjn+*H7c<s-uC>m%+oNN;CO+`C>a0(XL^sZHI?`gVZJ?Go<)B~kO}8B_ zJC8;vU%e^wEi_l*$9>1O)hR0&w9I^~k}UW%PxBada?bkZdRyMPV9r&pyr)?kraD}c zx{{-JB=lN|%G_UHveLH)U0o7<W4RM+uG@}W`=$R3ezpp-{}5?9-zOQXb%8T`%GS?L z*{e3ax_af;s$+Kqh1^1}-2E+Z@%4$z0h?!Q^ZawrI9jp7a<kkGw~93)dMSEO*A(76 zxc#-!)Y`YzCcpRY$lR>{#9i}0L-@M-_=XGDMDzYN-U^v@@?QOt(?^tF^@JW%TA1K^ zx@P-E_w)<f&MJSD%@4l1+EP3F#fgHi`=#@?TLl@c-`E^#xN-4@6K$V^d{Q+|m^20b z^Xzb8a<sD+o-^?*S72~tWV8Fll2f|tz67m4^>FL0GH<W$x2|TF_bt~+Gkx)T*)jD? zW+F+EZ&Q5vRTy3b+?;zO$FzIZEYXy0&!W;;G#=m8_gno>)#v`#+1?@yzK3+Q=cH;r zWBhbZ^YD)%woMzQHXk+H<G(yucgd%?MN`c#%(hdLyYaQ?)^F2KDZ!DO=ak6t?G&83 zr+c#uuSa90Vdo>+I~-=+fvZ+teeITI^=j+OZDNi&AHE(schh9O4&%Cu4I)2RU7v1x zR5FE0;F|7<;xOhTOC?tS>uU6P8mHntTTA%!-CfJ1J{(y2p|@M)bJo01Rkye4yeSQ< zx^h4Ei&~?R)yXdhHgo)bBA6<(!kj73{$jbG=2BI)y$b{LXPwi@eA`<c)$?VZOU4V+ zz|GeV-I_e%wdAVpCys0I8%HiZ)w$S$f76Sl3e%^hPbk-YKY1%RpY8GoZ!hgn-4|Fo zYvb*t-n7MQEHtlfI=U-bqp#-HMz63(Axi{0+6{_l95WJ3WHj6`>%xtz8l`X3ZnNZE z4HcPk>PBej4HIdO@a5}+=6;{PYH{4=IK|xi(~|ZSPdKP}a!wkfuwX>zE5}uf1g~9Y zF|I0=-ql;inc$M|w{GY96^km?UYk_*Z28j66W{!wv4uGGrFX3Eadil24&zndpf|%% zk(n#B^Nt`}w`-Me=54n(iHU2Ie)ZkdxjtQBZO<by6~&*CjmA97c&u)H_e|Is+i-d5 z6us!AV{51Ausw}@VOF(3-+xo~C&5Dn&jO)E;)PwHB9S*Ea?}0U%I4hDSB8nptW4Bi z`hxk^RL!-&#sBqb+pA36ab)VB1I8OHPS~Vaa9hUcmrj`?b!lbbq}EEk6@lwlrD_R9 zcy5{2DjO!Xt<`MDTwCGDO&iY{F+S2h>gYS;+acwH2`8_wi}F9sx<0h<&P=o1=1|Vv zvtDo3UYC7xNyBT?Dbd@P9}%0=oAk{s)kWi3Mc0laA^Zg-dRm74Z{PmE^M3#PQ@`;) z!_;l{Z~rsA`Ok36et-R`{|r0-GwlA)(D1td)C0G8(?7Q&!%MF{Zr<T9?)c@H`ur`Y zogS^s7LPMCJ;tB^iebmcH%Fd`uX|I+-T6dvmg2^5i{5RIf7rh4nXM3Od+)^?OIq*k z%kAYait=s^`IgmDe<^)a`fmFp4o@sI6XZYT#>P$;HQE)ba<uAo_Sws!Y>gKMbu|9w zylRz_QDoQJTV}}fOqgMh48M^YtKexvohKHLZvVYBIUuZ)&uVkg8`b`;J1XoJa<iXU zRB^ba<Z8&_T@ykMG*4q^JiNq0%)st`9@AsZ<9~|YY`bb+yT)7R&Ben~y{4(g8Oxnr zq~_Lggc(l?3QLZibm{Gb(zKZp^V5xAontmwXa0<*mr*iu%BFR%*B*Xw^g^v+=kvEl z$$rx|mOf67N%;0}0e8RL89&FWcgG*>nCCcik<0JE^62#+4qq;o>ts57?8TcPr}yz@ z$J%%5svcTZZR%qG()gzF-T99cie$EI&~Tc3Dbz_c*5u;f`m0y}?Ym=J?_BzG;eUpP zXZv(Rs@fJY)hjT+-ferRtU%I>@mWhnq>}5xgtEtnByPr@y1OUxE?3_wo`|$lBC|eC z-|<mFu(BaU@t@o|HkmdDfoum$`6T~j-F?&jT~AmUotzrQl_fR#@>{8}eY>hIO*0kZ z)DTwnNKaYADdIcHx1(LCFPS05Yf90|&8u%5S^7aUHfrHBaowY}eY+0G*<GKu<xlps zoa_EEiK~?^9`tZFODf_HulUc<^r*IHqL2<LQN8kAR`7fW9>?(8E2FF)zFKYQa>J;_ z<!w#o;}=hQq*i<lp0Iq50OQvm;*r)7BAW${7Ti?st-W$a$LVHz==YoiiME`a=f2@W zw$l?seYpEiuo+e=#U%gJyQW~%tt1hxEwI}DVbYajrtd;!Yf~#P&GZO)`E142YgKJY z({}sY#_8<QIBl9UWzA&9*T)J4o|YVr`LVol^RjF2x6IxtcH^~KaC2ZDSJ=LL>aH>S zHpd^Id?N13v%_ygG#;Kvzm|Pqjha2n$xWQTLbtYjI4^v^aBH;Fjd-uu6Y_Kg6wN|d z&a~KS$4r~+Dis+Qk?q$TwAD38)7R1^wXEVCQ{WTJ%)-20vAn>mnIAUxGV2Ciy?%9n z<of07%%>fF;Omw#Ej;#=K-R`t-<mj`R2XV&+B+w2ZuAOJkm8GZ*xg%|^>+17^T}L0 zZmiDv8Wypo?oX-cDx>q8qGOk@u6)y($fnz-<t{tpkO6x>lZ5`P7xBv%7hEejcU3Xv z_PGqth-)ThD@!9+ujl>pDJW#=3)Ykm)8_;k8l-(%=PU7y`6Y+UEheMQnyInZquUR5 zFZh)#eEwF-vAMcQua6zuaq#V52XQ&u8FQMx-t9kFXwz)$qJFD;*WLOyx!E(mc!<fF zyC+Q&ull*o#P(#So@nsRRf_)^Jm;O9_vSx?AoGN$OB<a;=1p29u<GTq{@4H3t^fM% z;p<=0>(BE4VK@DlwfKsufbdTS`PiH9gf};w3SeE|y=lp@166s+uODyR`M9Lodq+?x z&->pJLD{eF*M&AXKWz+X|50rrQ6$OW$kfBp+4{uly^N4k<dx)?J=2$5-J7;bEwj4l zy5{rM<vER<zm9o@ao&W)^}*HrVbYQtPBqEK<%G!|;SIH$ExVy7^U~F~A2_p*n;v;J zJxb!}gxIF9_v|0+m=}KLBIop%e8;?3?Wh-PXLGZbSbK3oz^O+~)k=mtbyZJwrJXhG z|FC4YYxU+oE_}|@rZK8Yb7!1v+IOq9IV)#c=d2n1@%aJ{jj56s=U<vCVH~dY_+XJo zs(@##LBga1A2ib$ix=J9+Ir!S<V?SJfzIEUxwiIwU3%kX)}iv04=+rg<~^U<BJk5G zgy|gftpkT|op6)e^4j1=Wb(!}yTgO5PS(x2JZ00mue06+UTwH4AbxCrxNU}71+$*^ z4a0MB$HR;}*pCMoza^>clF|Op@QdL;1LM9s_J<zc{+ItV>VDYfeE<7d|4JTN^ClOr zW$)!`yj-|ne!;pG4=yY`#h3lfIkodS@Al{2#%f}n*ABYu;IH(q%luP#T|Vd51(SPD zmv<V696Rjo8#lvrZKIH8tbgQYrK~T0j!(5(#Tc5K4j9B0_Wx6ssfoBU|G4+j^(*8~ zGtc)uQ<HC;+*_-n_twf*MW^O--zu)>_qErrV*9Pg|DmOVKV6ZfHPYQ_Z}ilFojV<P zc3pZAp|iD#S!e4@k&-auwQJ{271h1apuH-<`ft|bd_FFtDXbGY9Jwa_QjjxNEV`ep zr#U;caO!1_!#hj3v%hz~@ok-(wN)oFJj$(h&b4!yJTs=%8z#w4WfJO(&YFHTD!O;_ z#Ty*yi#9p31oawiX<HCjo8Z;fGL?Dt20l)va$oU8VgIA&eF{}h?e*ImTai7hlR<5r ze|St))fKi?Jg(cez7mL(6Ez7lv#{Im(c`rLv63IR`@)$V%#GKS9JYRCzL`+`a%X?< zvz)^9OIq(PcVE)lKd<nrW6bZTrC%NHrzrjt=x2QML}5Y$|JmC`TVzVP%df`#HoLUT zX;J8xcB9vE9xHNk!q?1g71ezZ?ssU0Ub3E^+M_S*nl6z7EdrP8=YKh^dwQaF>yw>a ze^XxHylH;9<LP>4(`_7Pkrmwhe2=aazWwp(M6!-o{0||Ej;@zSM3i{dJ>#4ghZ`gw zHJH@Z7-jOpbFId{tuX?xTUYS<&iZK|6OqR6WUMCq=a6is!1B0tdrZ%|Gzf>QuU=<s zo5dW;rgS^%D~C=$*DP&m8Tt4nZi?|AC#th9zHp|6@xW{LJ+DnKi5S~BOe^ZTuwmcS zT=5+{T51*EEKc#ba@5l8uWxODWg|=c1V}`;2x`8}y5}n$zVgDSXx7@Umm5R&6s|wf zylCUx(z4hEi+2hzmwK_=uZ_ub-FPghW0N9>qM|FuM~<Zn`F?$I545Nj6`k=uCNj3@ zt?twl(_>bLiCx{+G|y4%kf-4ERgr%Tc~}h&#^1U6;<TRFd{bNgEFEQ$pg4imqB38% zhF)125+AJ_zkXXZ`|D<&gAWg-eys13&1kiX{#&;{X765g*>_j3?3h}0Mq}Rk@c5uq zpDd}wn9Wib_h)y${vvuqXs?CPJevaJ6G;tcb{5uMPhNjNOu63Wi)6u#c;1}D>z49< zZDfAQp2eM+v?M|BUD)-ju{U}c&!;%Q`L^5pM2e5wvVCt%zh4i{+@5kk`%S3m)C8Z{ zvS3l&metw(sm|UN0!+`A=+#FsT8cfC^in!;M4-7#!@a{*m!tgpBCF2BH&(1UUiIkI z>*<*}>s)p{joPqn?G}+woMA#9J$r-BKkP`*Y-(z8T=G);L`l{&9*bo{fdSfXb2&|y zieFpZBwMhRapmTC_1E1z2Vc0Q9IBt;yjCH2eR!PIvqcV^t0!N*E;ny0<Em!C+_hCL zV(zWJqP>0m>n|w_tp9Oha?`~ZX-*6eN}EVY-A%T&Rok@|78f;0l`c?B+H_5WXVdj1 zffpktZQC-<BxJi2!@89Y@4qgPo>)*gWsy#Y69@mB?XOJMsjrEwp1bsy(6V*eQ&vQs zD?6vNZFkwUqv@R4U$vUvZ8~8*p)kyIiRNkJ>7I`TR>W{x+Gl>te0?idweI+OoueJn zOnsNxW|+LZ%r<Q;7gvJ5zt+!C^QLLR2WK31I`g#kKZEj-nn2~0>nr0!owkW|cBUTe zifYrE;HBWZ?_=rN3bVCUyR5Y>O`SdC1(_{QOzHagGA)_oL21Vv+fu~`?mZj3dn#^} zCmk)7$y-}xtD;lexG-4M`2E!DSD9-kwEu9jVc$HV$%&(M%GGV%%B7hBo%3=yBK3A} zO_;Lv=Y)_l;dSejzlcnCVpx~i@ciio-V@s_P6dj&D6+@}I@vgBW;pNLD|p3E?x<^; z^>wlEnBCr~MXJ}euC{K?U9fzD*M><hsjsHh^Efm5h>(`4*%|*cgk7_Lc}o8G$A4@8 zF53TR<9`Of`qlp#68|$4|7QsQ&v5b|^Wr(y$tSpLHhxx{dAv$%TQ%RsLo#B2zRz}L zw9T4PYLk1s>F?$=v&@#BZLdBrmszw$;aHUrW8(ZTHHGYbE<djw4qf^9aQ4<~ds?^3 zPtwvizk7E<@7`I(dV(=GC8n%<&mV35Q`!BsUC~Z^;rS8&87?uV<{i+uA!K@Z(hCpn zUwL!gjn@2)ntaG?r{b?L*Huj?_OJGvv*udq0o!BTbNn~U=ubJ(btETE^X{b;hmtF= z=x{7j^5o{e%CT-&WJC_<{ntsGoL*>$o?EY-R(nI){>)M~B^fo*qh=}_rKWyfvvZBH zdz{v#U%!%4rrHW$Tf?~~JGDGY$}DQ_qEi)b40u*wY;9*e#NHp&*dS}W?D&T8lV@w{ zr20Z{9emxor)-;2(D?}FXxZ1Iw{ENozU8dIm8IX|&fcZ;=8Qq3O@QV>r%;pGc@w_x zY%q+KUUntq`-({iW?jt_4)m>$iLzVv^vb5c6Q3G#20II%DOi)-%EYr`jbhM>Fy1(| z9jgkKtvJ4J+CrC<lj}~_T$Qbjtak1XGqsFb`>LVH4eIg3E<3rqejcy6m74Q5BO>aQ z_pZqzr@NLi>$zqrC`T`>jG22hcbTx8)`XnLIu3#_r);#~Q`Ang@b64MKBd8@AuzW~ zqDTK-085+KPq(PM6TZe4OxyLnH+$6$6}i*BOo=Zw3K@^-xElp@ufDCe)#ah-?VfPM zoNO&^&aGL^6Ta82mpY)n<(_T)3a-}JsY<$?%QWgGi#m#o)^nWaV%?H;Zez>bg5~>; zi65=eyA>FwFEqE&bk&O$vvz&kvBx;D<WXeZkxw&PRxa#(W)Wt1s4-A>uh5(D>`z&H z&aJC*UA(w8(Qr+WtkdgB4KHK;eVS9Jt+Z;|9DBXtvCgyz{Uk%SVD73e!AC+Do#Z;p z&n@kD%F^0AeetYa50jpqntE@Cw%6?p?J%#C%*O9}CF@c(3>zLAB#Kn;TUq*Q!a`Lp zhBcP2885%Gs*l*Lwso!0`H0wPTfeiRA9m}kZ{1~+!BfyIa4v+Q>}mYuPv_-dPb<Cp zE$htcxS#%y1dbhf8<6F2?C=Ib-W*ZIn^&hg)TA!5Iq=cPLgs+YDXr-XA8`q-opQUP zeecV7(Th6^P5rAnbvW0CJyaFB{`KhMS9vks`ZuM51*V!9+8pOPW)aY!E*iXL-qn3U z>z3AKYOj4cLvCr4s%_ZB2RE<z1uf5(x^Q2yv_8n`+CR5_92t*=4-__d23>sX%JGpi zV<ErG?&m?r7n+Jjp1ycCwqRp%s@MA%(WSXtL|3b(G|v3)*0bMeio}6}nLJAU<yZCg z28pOFbP#Q~O|YtU_kS&xa&7CP$k*Jf(^uYHwNE^C>WA&_y^MVVNs^};6rcWyxsv^N zPSmxF!Ktra$Ieby_0-XS-|YWuR^T?x?5zbC!tx5zBu*v&aaZ}!XnKN!XGVbG9Nt|Q z?kqZ0dSF|L)y3MVZL>KS7H@ZqzMQ>^FS*s0#j|Vo?T}M%C#q$13iU~z|FW^agIyqS zgGzS0>V*m7U+!A<rAGeRs@{@Y<osn#cPQ(``mni{k!xNzRQHHm%uln3*KB^J;ojlx z%2B0y-)fpI=ZaP5;`*{)w|39g3a@&wRy%jW+DL5`p7Xm*Qh!caaE!U-fN7uYjg@6R zIlr`~l&;}aeVw;*ndCYa<Db{o&bt0pTK((NtJM)3xo$8<@`$}HE3j~5Z>w>7e<tkB zi*niiip#B~i=HrgomzM3*u|zbudcf+o42>UEc&!mZEe<+ZxXJGt_~>y?|(EMSR!~V zBBJER3=OYklXEZ0eK%m!UR-jkYu;C(2;r!;hq5%+zwUOwa%b1H_)Rv;6tyyvD*Hrx z3KsG(^)@QUSn9Pj>|gfsO0m}Yt1E4kvnR<fO^I5e)BS79%Ts65W0>zG>^$<@@X${m zc~D&trQv*0@8^|`FMM6YioO(w$LPe|4BCC2H8VPwHS1)gLR#&`#rkKKvKh#zNfaB0 zhpbJE7u8$9TdVpiqDE3`;qvMK8G3G>kGM8t`?aZl=R>vz=F3hCKXg}4N5R6eBVCK- z!77V>j#Im~Jvq12KcCyJU6SvY$d0Q{v5P*wx|<TxmFwjbpu~MxzRjQ`g^8hHeus?U zS26jozTf};`0M^_-^Ra(|E>JbpjTh_pW*VqoBy8wV_sLUaYX26^|R+urX6d=AIfn$ zq{YqRliCs{Q+_OM!{WsSv+haMhi$QXIJJ33r-96gOB1i1+IXmO!-nQCUbTG(X0Ylo z^L4HD5&G7#R>3#xkeKc*>$TxewX>|>_?d1v=&Hsnv-S2##TjZmjH@k`W0j`<2|Ite zEN=sw>X!X?%yzc!y|z);vLK|oc*BD={~4Is*TqTbSxe6O)M2+o%AsZb5+C8!F0WKu zWe#ctFAm{)-N;+EW!J20;hR_TIz}cLzdvVCB`3$pkya;Q&{Hk9;_IZ^X=??TuL*5l z`K9jt$6rUQ%YSQgzdER7on&&bC(NzT{lp(1OCALtL5INp@>Pcp`L8Y7{8eK@$Ccmu zfp7MQ+0JEUo%uEO*5)g3ZpB1azUj7=pX`?wuJxFU`NI(R@A9|5x^9;yMs7Ua`If^v zV%6G}VbOw@=bebUbN~7(oy}`jJl!`p=?=TP+=Qh!r}TJ==1VI_u$+2t%^R9%Dm!mi z;O_N3?jcLurMnhR4Zdh4%^q9So78nXW*c9vyJKQAUz}T_W}iijeof)Z$cxui%Zs16 z?zRs#y!F6m<K_dr#_K&x-)?>MszNk#-I>!(+vh(pS{EfT&q(IXW*@Fqj!QVaez_d9 z+Tyn;BJhk*tCgw4x*Y=7v%OcYO|7<?a7A>QvfZD@><b@0n9!E~keTE7##jB3>Nm44 zGT0_+Tg`WW_n$$2P5AcuO&j*D5mMf!>?3hBC0(SZ|H$D9hZqiuaGAYc=A9R5op~eT z;=5U2kA|<==(gfo!;-usRVU>Zt*rjKWX|?0b4whR{htKC@!zW?AQ<NqV~{f6JW5n6 zyQ|kSIW^Nz+<BT_#<H{3QJ))kncP|`-(KyTE4S+5GpB=#uN`C7?EbK_PNzz3)49b? zJC<C2bL{4+-P*j1wRg^4_VC#G^{ExNUh}-F|B$+d=kkILM|KylkF))A!dNq<Q+%qz zB^K3MrG&Xr>VY~M&p4gtN-YSF;mF>)^vbnOd*^y&ah(>NUsu?C;ll?HXX6izEy*{& zy04l1W@|=++=i)h{TF|)@4u#fd;iUd_%Kev+k(q@k~SH4*||STJdwzd(8b1`a{cmc z)8DIp|FIIkdnlw`snqWLrBe^8cE&BczUJ&|y}Q%aynfx#XM5{>zU|F3r=G^RIy}!8 zzi)VS&uXr}XAAW@q;%a5OwTJb-7t&q>W-y5IgTb6v#rbzmApL7Sn@>SdpFyPKOE~O zUA-f9Y0=UzZ+PBv2QHmetyG))Mr@<z);qe|u{Bi<Q&u0{&0{5PH-q`QK99I;&$&vM zo~{X*OhWr68u+ahUNKFim}Q|~Z-DkX7SmgoUS&tdom*ncn%Z%Gzs1296%{IqGk-W7 zGJI3D_?qXps4Wis5nkt(U;MrQ_-oO(_us71U(M3-w&OCJVWi|ydF77=PYfCiTp8VL z@2%$MwA*^>{FOyc%E52;x^Ma$@vTHeEdA>Atn<N}GYeCnZ_@cv=W97LW_6DS{~_K8 zlUcu+5=1ueSZQrF@V=$ArO|XXN5uAwcU$A9tX=Vbqs6tutRgdbimvCYv?a_iU|aK~ zx1=llBX~W;0f}js{xcNZdM5Tg>d2O-2Ls=pJKVJS50BhV=v23Y;%&>yTBj?w%$hxX zxBX4x+gn?}pc-U#Ow_H#>spvz-#){=0a`a@=R9Yh=XTDfMo9Tw!Gdh(57B8?%wqTF z-ICvV-#L<vbA@$SZi0sCw9>aV-?yJ;>P>u{9JXfhM`s=V`#nZFhZopS?Yh&;D7bRT ztCpN;PFvTnxw3lq>!6=YSNG1csul|gSuY*c9VWGRwS!oE@sb&GDVZLxQzITaS(HD? z`OoloQTx9?b?!g=4*xk1nt3>N|3>{Y``7aC>>rr*`}~ZqyZ^8F=jEwCR!=qe&7Uan zpiU+`V%5&uy7lpAljmeE-}Z<@$7^f!r5?B6i@WNtuC{22z0<uekTLaZ>&3bk_rFNw z*wlU%Tc5An*2?w!ZswZTufyM%m500!za4ZbHtc4YEXVqy)WR9Jc$AIyT2A=o-ysoL zeDrws<+{61bA!%Ln(^fLk8dASByViJr*L)kHY?Y}uvuTXRrvN!Ea+uh?;oEf)1YQt znefq|s@=fIfVcVj;rWi6Pu&Ty>Rly#?*1a1ZEK#dT3qFnG+%D1Y~9hLud-`vEmhSw zaUTA0yiq01UXY`I!j;Y1g(A(NF3M|{aio2DWnL=vM(9Aty}7Z)@qsQMqt~juJ?rmv zdE%S-XLwe$%A6Mrm*{G7PYUDt_ATqzhApQ~`c|bxPgyNpH0xc|?Q7~AzC~Tr&&ZuJ zwX%@w#d$`X7JF?&y~KxYT+{B|FFD_vymqU9$j+>{MsFwasNLVVzN$H4m5<47U6x0M zGLh43SEQsnJbK%|?M|_2(=F|=(>MLEf4Ot~*f)kLdJjGL`aPoOGbfwvQ_cC~nrE+7 zFH!TDrRkqc>zXx!ub<gghG_Kc{In{;Y1^EyS98t91VTze4QwZ9ls?Hc{ru?Iaf^?K zCDyVWRZG0h(9hba$+oJ)J=#a$?8_^8uS{>KHVW>w+VyPTqRvO#qdafVnm2X1@=g00 zl7U>7^OV*ZiZV&J=Q;P?SQ{3t<#9%o!^b`9<gMtP+4&JuH(0JoPh7e)s`N?6>%|%^ zpCtb5IWV&?m|@@2b+PZGJ<WV)Z9BDBW!Bnl?K@UvZQU8AcGdQ(R_2vACB>4f53NZR zo@Xg}$wry+nXX%K41d$soV`>2)`P|%6F8mTi8Q?U(z^45nQ```u=7X49)DW?vHhHZ zhyKG8QKt^d?MuEs)v4q3e63|H+L`BL!!8#lvbwtlGv8!tk8_(GZ>N(}+%IF;b-^bn zO?CsvhX|nwSu0vfw;bfTH`ndm;@GALLFvn@*JZ!bn5SL3WbV$DFQbZVC;x1mDzJFw zBdy1R0U`=ln?2ufFXQoWI5ah>oW*g`#kk2)Wfyl#L}W+oTfEKN^yv}pWQ*2Lj=Hb} zpTn9>bB=H7E#xfj+Tgx=ljWOLw;Vt2YmWMMGJqi@XV#Y^1v0_YB$9=MP2Y5Hvuk^3 zxk_~H>a<(0v)!_+rbKM>VpjcHotcxmnxn-k_|~+=$wy1G$_iY>ew;9z$me&$wa>s( z?;3-|DcOIM7W?|PwK!^qEeiEu+beA3T%mm_%t4=NTGPJ1*3A+7=WrGr(|#!EIU^xa zm^s2GLtHw0M}FeoRV&x8yb&F{sB5Kr)TY*hjq6^Ybgfw$qI~Pp5wFwg8_NX^6l}b0 zx!eUq^huq?WcFR%xrHxytJkYbjWaxi*5|%v)=zg#xy*U0>(xpzExn9K+9EeSJ`20Q z64n%{?f56rX|zI6^NG}!zy+%oMQxnYwxT~`({-)a9S7<rY!_U!f7%|AHwCM<+j`YY z)O_Y>{-?>gW*z_aGgY5f1WFb^4LQ)7Yx#QBtvnrt6)#pLR4W9$K5;4g`O)6K!pCif zQJh^qhqp1xaWe(+h6?m;o1r-S@`}4xvNw1$DOZ)2o~?BiKAN{>@^({OZ9n%-^#(?Z zM2c-(W0JI33(u~b5N)@EEoO~>;;xX>uR^XBnU*fywm)09?9j_=EdMsX*Ib)j7*;py z#w12NC+HfExr-~Wh_q^$Nr%3;xOwAhEsH&lTlC^~I<75FUg5SrcK>yL^J5wE0;!D; za>C6eT59={jUx0Ix8>Ymnz!F@=P}W<4Qkd0gPIp#5_^2`M*n)&Y@HQL&p-8l%s(e# zLi}Ncty7yNqo&4fah*EV<58h%xNmH3q>Ed0)v_HWTeZ{fl}OzZ4JqR7U9(Zt{nCob zGB?}U7&o#u$JKRS6_;D&yWrQWpuHQntWe!LH_hm@$UDg_tBl2B+Fwt7%Uhw^sy_2Z z#3}Z8Lpei<ra-Bsy{#*KC+T};?aF@Sadl;6n7Va`QIvK?)|*@AiPF6J_b){)optGv z=tVWABQ5q?0cwd;PCQutru09<oA39(KmObQXYJ<y4Eg^V(*Irj`}<$`-}8U(|6z}* z3uiL=x&GOuQ@ht~mytbGv5SA1q0QfAQR1TB5xYKaTxU>SAHaINKTTa>Z+Y^E7=MK` z7dh%9{#<wdqPLD^3WN4ey@kc*D{_u;uU?|s@W^1(id|d6_Fkyy={@)8^<+bnvpi=a zk0=~j6j>Pj<8bzq>O9SPQ_sv2I~a3Z`fl*6FXiSYKIg<8)@_UsIsElVTp4q9z=jx! z*_A8~JKU5{OgPbP(LI+tM*H)(?jy6=K5h%(dM6$C;?k$vn_jogHMpw~z9X?pkgY#z zWi7|v1kZ;XmP<UCtdT5G;#=5zv5KU*uM@}bciJS~?NQWOU?XlW&}+F|y=?z~2BCTD zD+SzR6T35mTN59PHI{K-`vIEOt&BHz(byGur|!gG)|BszLPDY6lsqf8?AW*5>_m_5 z&E>m7?K2jz{|vUBwD;yeBX-5p-i^A?O;4>24ZpF{r1aL;my&KPYm<(=QD&X#Fr|QP z1J}uj>$6s_U@B}2lbJAKqveALk);f5(VwQhc3ghrjc82HsT40!`HlB;=T7O*F7n#d z(w!~!Yt=5#_-4j8+<I=B?gISz8)Ui_1>7I)3M{g<WxKrbZnS~rk_%gRak+A?%l`FM z%i_A*UBSjs_uyG4ev2N~2;Xs8#bSD6^85o!L><0d5S%*GTkGAfJ9a#=?3X3x)m>II zd5LrBg58zaYp?$pe7SRck;8_MyR1bf?7n_><HC2|o&~Gsoekvw<@3$wd-{(KnRZ<r zE`cRqrUtZz`<m3pe=V(Fznwq+!ri)z`UjTlyF=v`u4tHlg5lS@^96I~umv^f*2GR# zGh@D7EFUl1dtQ3+t=L18R;1V8I5asv?DwZNO!7KhE%t|R9ymPV1QSE+dhP5jV$6%L zyj0zi%MyO<a>lCFHaXc*A2Unuy><R{Zhw%kkKIWLpRH}mJpUQQR5kgO54{o>`msH) zx-#h6>BI%=!$fBXzS3uojWs)*y+!BR%(+?bGM!qV#j7eDWc;mRW1uX$(a0@AjAJ63 zHwmj2Y8qbrl?`|teA!$6`p3xdxwShgWO=VY>;A_)>&Mo>S5h6Ee;WALz4^|0^FXQw z+xFPkoUf*ReYdZ(H|BEbrduwCXB>+YS#9&;4d%(}?VEa|W6i@3qg@Sr)x|6cJY9|g z@}_G-{STyyv~zvadK9bWxI$^s@++yKt9Z6NK4yAr&T9eF26vk<qhtfW^D)I8?Aput zx3Hw91%dK6e=~Gp%E?}<sH4|=dkdRy|7y^)sW!A^eZ5=0=}{$HT1U-I9jyy#`_c-z zPUj@C#GQS)uEo)n`)<u_DT`fY%PyK0rfq2N7q*?WcVfLDv%=G*O-Y}wpLO(CUA@ps z(migj6Z4|<ZF7?D)~rzF@=<&e>b7(Z!~B^Ial1F)QBPBxvVbr9(VLZq8{}rs`1RvW zUd3IxOYcOcI$QrcCNk^S_WM&41b!wU7HK#vW>QM5<lB9mWx}*liC@X8FHQ3!S9Q*c zyR-FF<*U256`blePMX?OR`qd?i)F0ACH`e)qFde-Jhojcn=pM%pyGyGmSI+HinFVq zX1`t@oNf7QlivxE*PWRYKb)E1lX=Q=deqMY+!n$+s)K@yP0LN<ax~xl>D}nTv*4A1 z{_9z?Ow&b{?6{iM@m6-zRda#0>DwG;F%-@}sl>!>Vf<12*acGN?G;J!ck;@q>)y55 zty2oPdbw|v<R!s~;8#VfuQuG3IpkZk*y@OXf`qqeuE-g2&?*gvrzM9kJGh0V>a5=N zy5NUliM&rz<!_%EmzS=It+;Vr!gl`(rpL!O3r~pKz43>h`h>KMcCP;n{~GKMl-57_ zuxbC9`vzCF4rebqf4;^#Nod`!526m5C43eURi6smc4h6jcDv2}WX-Zge+rx`=Ff0n zt6)d!EG{S0^(*|Tjpvs=vooK$@z}me;$?H?CW+Zq9uH+L#+d8*`t{YFRjp@FF=SqA zXze;3vB2nb+(dWRB(GbSA}$8q<zU*ilzIQPhCJ7Ukoio7DFOWgT~Pw>*SnMow{HxL z?E89j>UF(KH)A?WPi;-ijn2?~BD6+jqGZ+5`G*A#1atU@8!-6CuAF$qan?5fIFqS? zshQK4w(aSfb+q8&x^pu`%@$7FXk&CmPR7GW^Jk0IB`&+kt8TnB&YT#+w=+%MJ^Ix| zp&6cYjQ+aX>G(@ot*+LPYnxl+Apck75l_iRLzY6T13qH=7F6r-)tVcAtU23f`enlI zEpLB$MEra%8zOpsUwB*y?>8s;ha4Z|&N*>%Xn%`3Bz<nfnKBWElkZ<HoT&FpK;`Rw zTdTB_u@T-}R^A&K%tIN<e_i0*V`g!xKs>{dgUK%US~=HLGvE4x<y&|~T{k^hefE?V zuXT6oQoj%H9&Fy~ZLAiUw<k5QCAFo{=2ZMlDTA)3YbTI4o2ex7`s($zohv3VWj*;? zdVKj>hpYuhqO;=`vQB&$?3$e1{Q67B5$%6QDi5|)Nls|6kWHANTkG&GLgrUq^5e?c zGTAQ`%QG*&R7`$8r!*kk?q_UmfcZ_1`WEE_)s`G83L@`*nO#585wKzItB~v)oNjNY zSIt-3yqK}sGga$v<+Ya??~X{^4Qia(`#|rSR12rxH7C_00YCG!_dQO&btlu6?|68C z%i?0k?HWv*YqE}Lyl>v3oKsu1!|RT6dXrC}Te_E8`}6fD+8kD-*5!q^elfWk=I-h} zd-drXQ(c=GuXW9Qo62}$txSM%sMK%QV;PfAr1-l@&hP9wW~r1SN9v3{OJnvc_Du(# zUoMuHK6B%7yeIc=zkW|{d7H<pns$Ca_4-xgz7x)W6y=z2o^VuTVSSlx<}zW+jaLGj z6DKGqZ3;K_-Y#3^&Z^zEcJ0}<thNUlxw9s0pKn@d*|t#9Pw8!kB7f-Cje54p6DM<I zFY{$!Tq4|comXqy&WgTcCyLjGER*&+?dY#?Hs(pg>6za4ZHf)c_zpTLTq>FR#LBdo zO(vLAV}<Bqzm{2-x?hJL<l7O|aOLLu$zPAQC45mfO0++tcx^&)dgqVhE>C5@&s@8+ zZeFzB{iXR`uel0OOIF4fwfoOpnWeEdd+V#HZ4x%wFU3z>H*;rI5`4ry!<olmPu80U zMUU;uA62~lGABB4)jKP_;yIVIe*ZhWdZ8EZv15x$7VKISb@0}`Cexy2dp1ZMIHKdj zDC0QM!{NlL^xQ4$*M~g~(aQ^9_S?du6Bc!paaz=uE-P)Juxpc!bxnKWAbM3p_TLuf zB0WB%DXtSa92GSd$|;I$QM@15@k*UPY0+lc*WKFdVwY~(DfD`3)}dS5E(D)Yjqp@5 z`U(jMM&84ndTT3ZcYd4YEwXy+TtjWkY1_F@R)$~K*qd6Aq0u&P)lrVsQJwoQ3HNrM zYnp%LyhHM1@nu%m+wylj&*%GmP%k)p<sJLDWsi@GdEadJ+1Z@4qT$U&vEA+!UzJz7 z8yrbfeX#1#tC?!54?Lcj2}Ut+WNp@Kxc`Xr*|9&Im%Z*Cnb0evn{a#L(#WDiA8Ttv zZ%vpMZ^Yn!t3yR0#l<{6ZtbZRF?SZQ&CTG5ShKYYx<W@~?ON4d_zIm2wkI(%sT$o% z0!^GGF5CzR=rEb9TFKWNbFf|Hke3!~#^r@-TNeGgTHw4+Y=Nm+_LIMbi8E|D&dl)t z%u%{ThW&4J#D9k68ujmw|Jweo>p#P%<9{vxt^eEp_x#`Z{|xFs_?rHl{nCH7>ixMG z)|GE;u6}+LEoI|;Xx>Baf58`DuTf54l`*F<I`7>r%N~U#_e#HCc@fF%&OYb0dxwvN zWWfTNhhNQ4PxV#1z2CRM^j!i^xZBHpk&l`0E%Ii{4&CAFYWkl+$_`_8m$9K%_cO!9 zbu#<<ejaj&zg+Ul@>!l5d}iB)AyWKn=H;og&h22|aj>}aTXO5C8FtIB+}E>liqiaY zojDLZ?c+bK;$XVIyJ_j6qi3gT@4JdQ*EhqU|H^zF@vD0KFT`5}OloBalleMl@A1H| zvi55tCr4fDOf$W@`O2HC@!XqE{fJ(Ctl>C^A<t8Xz+aP}Hk5|RztEqfE0y|dwq=Cv z={u$U<uCp-gvItw`@8F7+f3PwLTtva8OP<^n`GJ&S~y!7f7JSZdK&Dx?fvB#-s&05 zq8E4NPpde9G|zpkf91|no&715K29MQj(nEUmU!rpAn#psKqb3ffAPKo$h=?W?9TmR zOFs0j^QfCTkwMJ$Z&b<Cw9V@n-x<U_s-5w$W*Ps=ujZ%w1*Ub?njW~~y{}ZKO8DtK z1Eg8ct(nmn6JR{bU)4{ue)V4eMf@Ce;xk>p@Cst;v$r(otF>wPp*NfMiM{x^!0-@{ zvt@ut-IAXPvZ3w2xSw;o&8%B?E{wnEyKM5^U-nn0C#UYu+mpD=J;$Z7=VFxM@re)G z6=x_iB|6l}2iNQjxs<#6%XQ|sXADP6@@7AsXJGqEWrNz*=$0$N@gEnz%8T{ZzbS__ z^DDuA>AnG{)Wg#+-p^5C{cG;GcwXA0eE1}w1J()9THjBPkEkx1?^|Fh^nR|lT+7e& z9x=pB;M=IM+m2D2!aOABmt>s&tm)Xp&e^81-@9gYVT@KpE$`=b+aFv!AD4M5F8*=j ztUey*=z?G0R%8dVYU{=wG%Vvgp|p>Es+$F$j<aQec1`_xdF>3VT~#jsI)ASFa%g++ z9$ks2a~TU`S-HKGy%YBsJvB|OyBXQpuetWR%|;bgg((J&HV%6ZzsjGkHOqH<-K+=M zcMeFb>%CmF`560NmuW25Ru|0b%Km3k>w9`->Tl&!NkYro)Mq@5IL^h)@GJTmqjHR8 zt?Xy$gy@+&zVPYb4u(zouP!gwHl16*U)c0q_|0+drv|nDEBD1zv}_4}xsGj7?B|uq z7v}4HY(mTl*RIC43P66PU4;Is*!l(g3ZN?iEUWt#!`A|w$;LJxzWA&9X@*y8>@UPy zM46oaYF4zNdisvna_=wxTeDkQ_jl=IUL)%y6`r)Ni+wizES5Y6IfS_w#3!5EPhV%& zwa@$VzS9ryT2INo9JQeO)tvQ5r@3tu`Ro}oSML0Z%RjFEX4{)^y!N=H&f!^~yn^~4 z`XqCSJBRC=$hqh(T5tUK<fo;53s>B^5Pki{oaz%bg)6SNY>i{u@FqU##5QH#q$bU9 zhC>n}I}iM7vN^6Ot<HPG`IY^&ng1C&l)v0(3DmeLSSAoY?Z*-RxOT1VV(HyR)A#O< z`dy(N;&qbU_+$cXi2yIii=(-Pvzg<s=cj|UL9hR^es1N|2w+V-A9?ytseIt&Uq@$} zuFaU1jBTw5D=1a5hbI1O`g!Q$viOyor#9c&dpzQMUH{kA8#nWBub0T2cw0~**(9u| z@JWT@i8Ky}837h^|1<1}DgV!KZr1a^Fa9%p=l*l`*!_RI|1&)Ie|!Jw`Jd~5X8&h! J|HJ<OCIJ8MyAl8Z literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg5.jpg b/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a04181bf5390b6e5fbb7d9686da394865b7b448 GIT binary patch literal 48746 zcmex=<NpH&0WUXCHwH!~28I-d6b6R>Zx{q!N|UoI85kK@7(jvy|KBn2Ii}<%r81-( zU|?Wi{C}IFg@KWHz=QzIZ~)cL#K_3R#Kg$N1eYL|@&5pWAO}ML!!Kq=K?Wv4MrJ|A z|3?^3GcYnRGcd9;GQa>k3o9ElBNGQF7Xu>$6EnzOm=psOD<d-t0~<Ss00ScnGa~~7 z3o{ct7Z*1p0}C@N8#@yRC!?^4C>MjEkeIllvWkhBxrL!)vT16#M1-Vepiz=>a7ap; zW@Mt0YN*;W^^6-*R$77#%#4f-j4X_dOdMRSTx`rt%q*;oY=T0<BBBh+CW=bNDk-L7 z?1qksMoGybp{Zt#!K$udfrUX$i(HndrHMOVnY#3<xjKi&|62?^%!~|7g3N*p_6#SB zis$S8`F;Iv%T2!vu~qM5vg;lOZ`4TJviFAHnsS}jl5-c!6izm~Q+kf?;!EK-b`dxE zia(ZI;O2>$5-dN%Rz;Xm)b{rl@t<<)u}WWd)^2*ea7(?V<pid_J+a0sH+RH)EmnN6 zvbI2CVf)K_?6&pNKh@G(Di?Y#I3s-Y^zNf2>Mi?aX1_{|{^IA$X}pQ=7Heb!>$O04 zCC!;NCnCGG>{$NBK7Vdy;prB6+xOz$X=}{QdhgAcV9K}ABq&tOjBAod_2$Y?#%o{f z3}W(^Y)Vi`Jg6UB$Z#Yu^+3-CpHCf{EE^-|-}`aum0xJ@{H}dr0k<8dEczloDearf zX}+xyEV;(dH?l41toq)=_ix^N)BX2sBftC<3tFRPSSl*>Q$N;pMel}Hd--Rl<&->& zobYv7f+u&L)S85^TEC|BS13>UE@ff4^5Wc=zjQvYoUpIAXNp}zPozNB+unJa;ig?a zZ9&fMZ?!r18Jv~gSIPEWc%QGh{hY%G+XZY4b>oldJo$L#`klwija)A)N{1y@Yy6z@ z+=H91h5J{I|B36YvPO1)7>*Y2F?=2%9ao<h^?mZ}y-R+WIu>p8KjPvl8|1$1xP|<# zf3MEQ2b=IUuM7&m%f9T{ho{ERb}ap~{qc31t-lvWsh?Nd+jDsFCBc9!`Le6$F7yRn zJaM`B@aZYs2hQh}JFxr21se$bk=XB1e1Nqx^uQKZPo0z7^o61`r>5#~r_}yu*c|aP z>f=`4g>27l-l{T9v3+=EUrlXs<*W3MI=hUXy{MeF%&%;&_N7}Xzy7^HcUG-uld;mv z;<ubCjTWmHyj<CoadG+HqSV<pcBX5uWVrQi%`xq@HdC+2zJC_3RC;aew7fH|%i`;F z6|a@`_D0PSbxT)`h?a;-{rG+1t%b(R-_Q6u<@`j^g=&8$9aR+6cv5t*Y0d4K-~I{u zEPEg^W9J0<z`3p+Z+Vgr>%X#Up0R66P3!%hsz-WjtS-ta)ungE+6Dc&boJnboSV*H z^cH{8{C(5Bttwc%X2#Z~EhgcobuGgWt(`M5@!Px|F*$xOj%|ED_x6civ7KA?&k1SO z-4ZrY=d$gIhJal={aoLPy^)ph{5!oUwcpm|>QqC66LTi{9(^Gq68M1MOC+i2XGzZ= zuJ7B8bS_TkcV2P(rCUvGD0|pCDUSCZ-wyw<x)S2$Z*gy`5<~Jky^lw4%Rl_5_%w2c zm0f!8_dh1$Yvu*co%hbFZ_(4`e2bnLRmP{UH!KbP<fDC}IEMGp^!Mi(AKqUV@OIvV z;&P`Kvv%(H%Zi(Q=tflf?qZL_Jc~1CXB|r}?AN(->D#Lq2DbjbJ<j^mV_(?Rx^`?g z5|8Eid?v8q)LmcO-w*cOES>yp%c680y@(Tap&D1SraW1DhcR`{*Z3p$F+1ibh_iPI zoqlvvPWbWfAE*1(_0E3LPs=~LX4AyYUtcaYO%C*#Zf7=gxm3P;+2VJL{$1y5mE87B zUwG@B71v_dUb`#z<oxWj%f8mfnLb>i?mcme#)ErPi+Alhe4?<p>uj1~#pjSdU%M99 zs}5~X`A%$aKI$=PIyXP>i7A`k?s|J-rQ2T7&GHXBUmKWg{m*bV?N!W!bGe!e(pN7l z{kre!_s60;yI)NAF#plD>5qM!uDo~~OQqz^jj~)>Ig|8bZ5>y6#_rZD-T6E(KWNW9 z7u}+^W7{NGJ`Uhq)c5T2JoS4wU$rwWxvi?voWE|1h54a5W|MX=n9-QHdF`afOXM|I zss{<#9?TS+uNTH_tQ2`F;nEHd=ErR*zjmw+tY-HrK7TR&W{cv?7yWMx!*qjA{^1wa zT+vyd7B_c_pN?AjUcTy+tG~@VQ@EMyX{DH!HQVZMCCa-47P&^|FLsY!{54|fOUKQQ z&tDc+3TBukxHC_&-mGQi*12O@X2GQ6x1zk?KAio^_mKBgNt?7KH?|k)q^Jp|pVVLW z&Df|yDCxO;lAot)mzV6F@H~adK`J8LUv=6T1>GHv9P66wZ$0HR`<LQSuZ2aof>b^G zr?78Y8q)r0QvY1_F9KWkO}3M_wb;gZm~D>i^C=!Y9g$B&(yy*p6>giFzdB~~?PF=7 zGfQe4qxLei_wN1fI%Vot|JQyqUTjiN+QNEz^@Vv{`w9=oKe0L)e`De=Hv8mVMiwhK z{yU*O;m$m!oifiD8hB>jl1uVh;kioh>CCiEI*Xf*X|~06zTED5CckL!mD+hJMH_@g ztSy}kiw*`YSXB0*w)?r-Z+rU~-<Kx8Vv`wGxe2V2t4yr*KQ2CHT6V8%$?Q_Ww_@5F z%k#LO{Iodby-Vi&6K0`lT8-QR=WVs_v?s(p_<nHroWq~Y13z5|>#VL}-P^HOeEm6& zD%E9joeeqa(-l85F~>g*7Z=)a+;mgk_d9h{Khzfev%c%QIrnBQ^V2yW-#xAQ&rqYW zLd4{6{_GApW_KHgoPSBiEsqk<6(-*^pQEQgiC?(=gxi#hv*PdZ+f091F1hL1u4T?Y z^_PU2Kb!KW@ok#@y32aGZ^Wio7u$XiRNr<qlih3fz6Vae#sL`{EL&L4CY{om#U0yn zjp1ucM4h+ZuBVzpJ{#9gJmY_7Q?Pwu)xp>2Yro%@{PX8OgOuRYI=7!pkz00DxX(Nw zAjPs?`&3?mi+lTBx%nk~Ee}3lRn`CCx!wMkrT6b1|6b2}?((IBCY8HvT5et2q~2!q zvDtfBPBLfA#|s`mo?E%3-U~1(UK0E4xb^*Op>>YY9c4z|m;Cc=jg=<^yxjeCyT;`0 zXI{H|S$0k7ak=8=?71^UcY$bpkF({8G(*;u=_k~d*@u4VUs?Ugt~0Yz=xf;b+eM|( zy&rgdxu*J`{&K2r|FWwsj}|WQy0m1)bH@a?xHc7;3zBt$?w$5(GILh_$*b3U>b_dr zSnK=`?!+oZ0haT5leKbq!>o$0&x<Y93&|4hU0s>-c+c+VTdr5?u6ylJemqY7&f&$& z*O#l#4L+jvX>QD;^E!czY;mo2>|d5dOlsaS<AEOU!zWie^LSGia51d>SYUqj&s&+B zewSt4ZF+C63FnDwJAKF}cJ9}5M-h{~F9W_^(+Kc?Y`gf}_hs9J7Z+7ODy_&;o$yC0 z_UHYphGHidWNpvL>$Wg>*A!Y*^-?cs(XzNb|JKAheqpOp3Gq4}ZQ)t&Z<ha#b;Yyk zESuV|s$Y8J?d^1C`9i~E3Av^bExFw$igNZcw?fuFJGYKQj5$s+?P_P-s##B$D7<cM zP?>al`AufF*H&K4ySR!yoo}lAE4aVv<;3t@PTMt1>P<HTn|IXwvuM2jQ*-0nkK!6n zKc3w3`If|1Pm7SFuU`Ffw9NEeT$Yg{H(gSBisaj+k{mhrL(Xr$=yJDo;>YZ)mv3*r zTkC($vSIqXX<NnKYG09LX<YEPre@lFVc&hq3CukG$Hm&K&h2(Tu6dt-d4hDD?^D^= zS=|*Av!;~l9Y4ELvhZ9{j?ng%CNF*+HkZ37_%y`(*jAP;tM(`EZb`W$x5FZ*H|F<e z)!j$8><IGe`otNj7?geZTW;nz&0je>Cro*T?`*&JXI{`ssR=&X6^A}g%k}HJcZJ<y zi*enq=<tu(!R+^YBNK``uKNm{s<)gQoF-A@lI&cPy!x6j+x5&nLPncTS+*H*@1CQT ztkPLg^S)zA<gdKF6EeI?_%*G=&sj_;+xlsN+|<5F&*yF8nsL?pV<)$*?a63c9v1C; zAD<-Yr*nrSzc{j{e0u8B6DOz1TF>Rpvysx@ubMiiQ}gm~KhG0-?{${NN6xwa^5>Se zyYKI-nIF4W@$BCM*Y8zI#!rj`*1CRKHDT4<H*2mZ%U=Aub#7NMyO>e*7uB3;vJ2i! za-7rd6yVZR9N@J1wEMHNq>JY-+(@mg=9OlCkZV?0w_xHMzKko+OhitdU!5LRJEPV1 zJ3n*Z`-1PsYQm$r^N;U|G5$08@Ut}Mu9Zn=%!~WBHgDIGoT~EDN^sJIs_9zwdW$x< zw9Ss@(6?N$OLoVmI?udN-+dR>=3YI!erNog1yPErIa|28R=?XX&zr_se$3^`qvI~q z%@!(Dcwdn4IW9Usdb7qPx5F1NbALD&`=7!1V#(fRtFkUVxUq{%?(dYP{_`KTuII4* zTs_@A?%r?rEj8J4U;Gy>d_VW{NB(#H$3yFj7c^TR|8=G-nRi|-*Q-Uc{F}Gh<lOtA zt58>Q*xn*1E<Wbp`nCS2i!F-R+gw_+#eCLm-IcZTZoZAaR{fu$JpRrMQ@cprFvHx4 zD?iqp&2_Rq;W}s8oz16HwA@u<Vq`A}UI?4e5bEEN@KkP_h1Qu1*KJM~UtM^6vz>Ry zw@>reERwpgrRn<jQ*oDmR=;2V_*=E}+Hi{luWb*%s_8an{~fq+-yP*spAzPaemwt$ z>sP~P{bk#B-aQnz-gxO1{(cKB<)3#?X8+6jdi3a~DX~gV_X~bGbnLR+`gq@R*2NcD zxvQJbn|_-9E$#dIucs{(j^Ebh(Anj1EBm#@k$r1srs;K6{7pV+C@8?=k|Y|;R~<Ti z#+nOjCbph>6UtaFYZ!EFrB;z0XWRXr#r(;PSITc~-`}GBJ}mj#Z0!r5`W5T`GZ>4P zQ@n;|*jrimz*VC+=S_`8?#)X&W=`*S%^My}<=VmqUwMLSPe<ZHM~{=0v+swZpi zWgma5`1#I@p4=AVE-dqUr}Uh2kqo1pzI4S(74Aoy_axq#aw_J5VRoU!p>FR>92PM) zg7ONQlbQ599xXRFFwvU3`Fmq!zy%gw<#@*ls~<#2HOhob95kv9ONf{Jw`9?+&ujZ$ zIi7iY_FLk!Slv77kMub2-Iktr=jpcEQ+1DLt>Slo^GDdM^q}&Sg|%yApWQzlJl95G z)z+ptSNCOx{;rJ57ZLc|G&Az|1pBvJI)Ck(z;fgg50lQf$HIykZ`!{lUNsGMDVZp_ zTxde5!zqO|*FGJOi?h}b`fAC+>y@JUd6u{1ruycm$-g5a!V2#zG+nsI)gn@V<nL<B zU+b+!_urG7uGO^VYI04!xog?m6CzP9FU#JqnQ>UHCpFb9?#y+wlf7H_UeTVj#EEnF z-S2Vpp32<m$ne(J`>DOYH&pKE5uvTmxz3r~-JhJsCl<5*TgiqMk-;skt9+G`Dr9?( z{E5`}I(lUN)eq6v91W%&zvfv#>EO5IW6mb4-PQ_iE&6y#H`{%4S9$uGltZkZ!aJ|+ zfAYMdkKy~b)Ys4X^51<gpLuIv;)40|C$}Ff{<5^Ld-0{>x%uZp&+O$_o$oMf&V!IN zjsD3WT?_ZVexL2XRer}W*Ng6kC9?NtTCoR&eLQ|bf`9uOrl#w2i$7kI+~6N+Xt`E$ zb5Uh`(xj`al~i?%ymWtV)Y_H$?CJacE8>q9{*-$c5j_7<)GKAbwG6JQ!Qa~z{?tsl zeyh7vPrTC6Wa)GMy)R0BzWuR3YD<m$VVk)h^8Yhb%NYmo))~*a$aChd;j1tGQ^Z!y zlk~P0^Oifn5jSx<gKM*9>74ER*Ug>y*za7v%lg1uC7jQF7EG%(jojkCU2WE~)T?*3 zQrMnVpPYE`(3J_B58Mu@Ebn>br_v?Fx_EX22Y>%Up7m$f|Ei96PW<?F|D+4&PRf>V z%hKj$ihfqG{#BvxqdDnUn`YD<`)v`E&)pLH({}U22^GikwyQsrGkZT}`_YH9-DHj> z)OMOEr7Ew!^+fBj*N^YvRvu3uv)?xldFa8iCoj3qQhM3klHD1;WtaYbzx>1Oa^~0A z-<xh{o#T()zICBtaiVGGu7lej_k4X3_-rT7%Wc6;k9K!9buZ~ZB2whTZes7XbI*d? z8$?2%EH6r#@B2mnvE{0&!0_+`uEMnka$@|$l<eM>Fs^&Gi=pnGasKzr3m=)zo%<k? z8oIE&-%)zk!%L^TP8WxJZaZPJd&0|YUJn-bJr=*1o!bAl@j~B*WotKm`QCDO&8@E0 z?ki+lH)if_zuaNGH(Psh_>?(*`eL_UJWbgg9oz7O`yp@RwtbPg=W>@!pZ)2@zs>F{ zt(P5-qyz^ld{S@g&nur)khe%%>eF1&4e|oEs{_v*voljY;an%majJfE;)eD+n_udk zXPS3LH0kVv+IK$ElEEIk*PeD>bggEx-I9Bq3vaq^yjrtAYx%rczkI#Yoc*e%Xf5wr zR`4J{^ZO*j^ZX`#7gxlUmaZz6TmDYM`ZjA$>tD&`pYn63Z;Dnt<RJUoe$DpdMn${_ zPpi%oJuLd4A+Yy};3TeZclRWhG&?N6a`{Z5Vdp~rDD|%uepe4YjXpMu@k~Hd+=log zwgv)rGdAq8)?2ys<12%I@B0%fMY_DQ`gW|`c1dD>&DI>xG|dyUC6zL*R<*uM3_IZ5 zweq0;wBs&j>z#J3yu7pA=AEB@HjCNLg<ab`m#3~3sEJ-95x=E-$Hhm?`<$~fl6apk zi<q6HF+s9YL*m>{K1EL1N&6=Dyv+<-_WG3W(qERUuY5MBtSbJpv{?Mw%uU}Xa8BNF zwQE-L$MxOsxi4_AANf<~?*6Fij8EZ%pAH;NMfX?F&e|7q%H&e{OW&1;ZfAun`W?S& zH0#*jX^e~SJh47>|6bdr{|rwnL+bzX*1g!jYGeJv_*c1qZvR^GpJD1>(f<sa>g<|- zTK{Lbt?~Ey$NvncKmVHl_v=6Tr}fMKz5mz$`cZw;@&61ZNB?^N{LgS__kRYn`iJ%( z>fZimxV-;b{p<QT@BMC-rWbijp84~<IeUC}((QbQ>!BM9R%g!J^YtC`+=;27YbSG> z@;ymDcyF6nL~h>UZCh2FPAs{%IpV;hvg|(r*FMai**)zokFDRbW|lLxGxL+OUpzbE z#bp;X@lrvwdUW98Wxfw)@N+-mYy8`M#HMR4&zyMEk6W+He2HDME+bG%>+Hiyz6}94 zt+lqMTva=}%J>=U9S6Td(JxeL!`IEc@aDICZ+Y(LHUAlMWp}&goLOhMN_b(W*ZQoc z*+$1x8t!Xt5%XDLdVs;+J4oHEx*$gQ)R~yZBllZpDJ;==AvI5JliSXZ^N-w`JKNNz zcU6A6s3*I$`R5~-x~x4M-+lky$+Gc`!HW;IZM;j}&TKrnX;ID2Pe0k(Dl<>}Jg(dy zUi>=#;K|KqH<*}jJvwWneY?o`!m^rYpBAOx@z~xTns!%n<-R*J-|J<+{MH|MEm~JJ zVy#}q%-zv~mBBm)+n4BV`?}{O6MNT=M-Kx1xF3Y6%{vkGPJ6~Ot!L^>LfUmo4j%g) z_~Z5JC63mK57gvBT0W_tyC0{@eB!!efbYXE{d?c<?N;E~wYyvI@Qmh<FKbrKdB<V& z)Aa1Le6iRq^NyIGviV&;{b@YY=jrkvLnU;qZN9GTl)Z5O%kEOCC(nPeTz&HCpR{Ju zx}>kleOnhijoTOy*iq$rJpbCy$Fmay8!x3R@^DG&+x*It`}sIb<FEVu-gk}fx^|rH zyzG>o=YA^cR4Lc{vtL{H%x>G(<Fs*&8{?GVLyU|Ozf4$mZ0-JdYDd51z8kBr%sy>x zQE@i-dFc7|cilY7=X^PHcUjP#Y1<2T>1^3oX1RS!AKONih5s4)AG6on9RD=k=+n(f z(S7pM|1+>{d$l`kjky!3kEnn3l{aff!z%gt`ww>?@|URod#v7G!ajM)`uN|LKmE^r z{m*dsyz4A=`@dFchcCbX8RYr?w|%`I$k^6{U+%V_TyXcf{d<u_|CV0<Prqw2gSC&f zU;pDDef&?<<3DWNnPvYO7T=z!AMu~z^1b!i(=WWVe%r0N?ZC~D*z99cOvVBsnxZT( zS@Mgt^sID_C{8${{eIsz_4o6`PS&sZ&mjEcUd+XC@rlkEK5tL_XjfgiF!uGnmD*dr z=0qIRmOAoYtMiV6fSUMXm-fynb=DsHPZmG!I_vpoeSi9-({8mfPmZqG)ohb7ukFpI zX-`cpvd+b%f0mxgwWDB*jPu5~a#thQd*#mGagXte*T4G3TWTkLua11-BKgd3+L@@J z!@Qz1t9-uHeq<8rwoH1UvGzrp8r!^6NxUammT4u#MIKB1y>jW^j92!ulR7%jy{O=9 z-?aDcRuS_bLXB^8=A^5A_`CY~`n@@7yq6b$*qVH1iG08J)8H2q4a-li%h_B}sx-s! zT~pxmJ9~Cc>At;a$A5;d+q{imUrY_z+FE$*_O4$y=kF|9ytgbVT;i(c&GOQvtCl%Q zF23ZDKj#*UlunTP4#|m?N7LT7FDPJo6qoQQf7OGHFL^8(RWxIAvvlH*yqY`P<?cq` zbWol<>c1p+rbyX@=GzyZ$8eg@khebgy+O7l*VlB$xyMh=&pu)Nh1qE31oPQn%k9p{ z>Smg(YfwnLFU9x5;dbDhw)GFpzlz%B?T(XKcx%VAx3x!0%_iP?l&3arUCO_3mlHZi z{ny34Reo&2E41U_(Z;O_dn42SGlZGmnLq8I+1A;o>@SEYAMuV#w#<>7ufFj_PMKe5 zDckIQ7D*3Hnbrln)VxksJ+;fuINc(}MK+<j&oprDjN6;O^ll32t?8aVPjuOyKKtzK z)$=wl*qm^~?)<v#FL&{UEHPg&b9#W+r+K-@y51eBUJ$i-e{A3CpRu0&S7jseij&qo zFL-fgRm#mYJ6RTSh9^Ef-4nYfAMIpmS+h;AgMZR{ck^W$FJ`u}J!%S`9}w4JseZ~J zXm{G9xnIvso3gn%*y7&K=gU{Dn6=_Z!;9&gTUzIDIpARa>27=8iPy8Z{lt@BOf~xU zCH>S|TXp}~<K3>`pRrmVR*jauP;{<v_2OFNn#q=5^gd^2R_)zibL_tD^vdg6-wZFV zsJ4DvyrNoYucYXzH{P0C%UJm8`ixhrX9*acZ&~^3v5D~Xm4=gEI5AI}=f&YyDSqC? z>-_l}(MFf<@341VyL?i0W73JZo3FB~xKoeclaIc?CZ6A;z4>^_%6D~PTW?q2)B94X zYFw_kbi2;YH&-6rbymCGSN$n%M(>Lw9zxSKzK15Kv+@|{aL32;=e^l-eWLYBpD)5m z{nv6A?Y<|QT`RqztnFap+IOsX=H75S<tZKI)aY@ViOJ(>o9~+?zh=Ep`14SuXP)yC z`Nx|Vt^MX2e$9K^)o(wpr7QZ!Ji1a~eD7R(r=O0mZS`K~xyu_C>SvY&*}hk}d9>X; z+T#7Hc%J%4Gg|T^efoAzy5o1RukI&vXmX%my5f{6k7TA9H3b^h<UT)OTXaqHSyNGc z<`?!&cO@HN{drz{FaFW5Gj}z%-dUS2b#bfMwh2%9Rd(=2?NDc)aZ-ez{b8UfTVZ3c zeYh^u9MR*#6SqZwd6nC|?CG~FW{2tp@AvII$}nZS`=(88r{Cwwi(9^t+r!=?KYfYq zQnNJgtqSLlmoZ76iB3P|;~sDA7T2AZTI&D!^ko;#%a76;%QoNjuIui8wMQYs;F;<A zD)B>pwRdBlz5Mp@)Ec3xrl?H@AFf%1^!}Z+vS9<ug+pg^OjbPa`p>XhRQ{sKrmi!p zMWr8iDh9F~af$T#bWAY)q|(0Q!gFoIm;A0UD>HfJl)kQXRpRy)Z(e>AKlA9p$MetM zoPKQhn%DhZrP#LKuI6cZ(KB0vEPH<D&(u7>?<~)5`LOOnwyp8uar;h6O#Bpa=690U z$+HD-)8oSb?wU1cS$D+7+1D3dn77nTXzSZb>&S~;Z|6!WDz^6>id%T2r_N60L;E?s zN0%FpB}FY$eW^81PL6GU^ZRp0oGioT=j+T8_x~u+)-3TT<mH~Yq=GeqS0;tX_;c=k zY0>iYp3aVh{R*GGv-1)UZ(h8#y|dto+8+~tqgT7mgnP6p7rxz)&9!p*yFW!Am{g|p z39a!;d;K<UUhVEFvf^ug1utHETi&6hYOm4HT}z_fwI=LQ&bYSTcP)?Z)?=AV&UQ%J zEEKN!8`-mBAJ>_QE7NDBOh{VwqhzOr!{Tkpf$nQl7R>opBBmR0&Sb;6qqk1kotSm? z$o!45LEdxaKDM8~T4|6`dHZFYUBm8Kb*B9bZk45pU%e7^m+iTt*YV|&0>-8%7A;(> z^6R&+llQ`SPu8pZ=Dj(0;gi(XOIqK1qZq|kXz;G-{`dW@n@R>J@4ok1Tb4PwU6$+K zAo$(f-BEr+*R)A24|eU_DcKgU!*oJLXh-VC$ypzl2_CVQvb^=h|E<$a10T&-yH+tu zF1Hst)&JycwN>4o87$u4V*jd5dM~mlb$4;bpYY?~{{-8en>+P%<^9`i`?qrIeKLvv z_UvqU;KfOWURR?0im%?^v)}FCIk)OY(f$mHKNFWf*`izVnNu#fBIMVGqjByVTHg5d zo3RJa$XT#iK<sGtu`MS;`8h)EB|Q|Cjf=nQ*Gk_%7L`@&x4?K!+h3N<y|!hOQwl{K zFZ`Mtc=xwmyZ4sKcIy{@Um~klP__QD&73oDZYnN5X;fxdsQ2-P_LF<|dPlN()4J<* zPYJf4-@wb-mv#B9-t;XFhmzD-_x^Q%d#=0WKf@BCy@nZ=bJwmuxW)7r(+Rcf!2-4u z{@#=hiPx_)*fF<g+Ifk>(3@!`UY><cA4B%7U{ZcKK|}X*_wU{o{gb_GkE~jwQ+%yj z*mK#_bvq>#ZybnPvf=herdvtde^*{C_o#|}ZM$>HV)K(<m(D(GT>R(qsjH6#)z*9s zY!8*(6)b%`;kIg+zs=pHS3IU|)32DU`sn^qrYAqScD0^gRlHk#+m3*e@{kqB&u+QI zwW4c%+UnyXa!(>{r0zVFlRCXk;q963Hpa_=OCM`k-*8^FNb~uG4v_#a-d`b$<21Rl ztQYJ`IOVqa6~pXTwku=fIha;X$&OZjRWY?;;^##==|?XLJ@{~=qV3+E@^mp_<(r?Z zYtpT4*Y5e6IBS>DvE$MYu9o>~UYD*+6)ArF!r=LgwecB&Tb7@D<EnXl{toUOO<kR? zys|?^Z`O5(@rCT1ERxV9bZ}GX->~Qc;ibw(n*QBvJ{Olh5IXnu_Lsy?k7<saU5|_+ zR&~DZ>HE|9RySl*t@@3d%T`=@$+b+=FM7s}UJ<Ta#>@B4*n6l}>A45@6^#$uvJc4F ztryB(Fzr8se6v>e7vo@`D(Bg@p)Nnw`ZLWPLQb7tt#BcJ`%0E2|F$Y#y)0y!_c46$ z@6$2G`wn08?d;#1Sz{I*`FiP*sogD=+*w<e7_n}0W}eG(cGCK_JnqbLCy#D*GCFx! z$42?5ccID?tG#Q!tlf1mT=l}Gu4~twVy&mNTCNZI^4DGMV0QaD75+_AJ0@L!|D0uq z)5(t+U%cYQ>XJ<iK9qh^In%W=w`+CAtccA0*1L+Ldy0H6OvzD`E57-5RiDC6FN@{A zg)8<lUwwDJ<jB0DxBgmL%vyH?g|6pb+sXYZNW5~d#c8))W^N&Uw|rMGV$L%3wCGXd zSsngwb;i01HmMhL-^J;7W?n0>FRJuBzH+{M+_Ot7UO3;q6>c0c^QQV|<H9XbwrrcP zW<L<$e~XRr@s2-Nnh%@gOJ06FdxM&0;9S3br4vt|xmB{**Gl8+*J~VCjnkf=H?sb8 z>DJ|&f8Wo2BXjlsyoq`Hqu#Ccx_ee>ec;tqF27x`NwF-C3Ca@=zq|VToM^3ZjlIpv zxeDgbB{Mh{X=yE==QY3Up4{yh5Bq1;cYoczylrmP0&e4{LQM0%UXGYHvE~7TPonjT z<?Ebf!&iyPK6hVY*ZsXy_v6%x{WGnP8gG-IynD%!jbRUW$xPE{tZiIZbx~_E_h%>T zWs{8;7T;1n%(>#R&MT?C<|a%2zG?fKo~0TqJHca770VITBai+wC~v;I;EdImQ}?XD z@4MW7kzaC>8t*{``4xXsCk68uW`E6JQ~i~{^~d3rLR-XZX0AF{qyF|!gop9m))x;H zezMh--TUQw{Of;)^7#kO6)*pt$N%zuf6ivk8Bx2h=DTj&_x-oWTeBC-b!;zL$bU3; zXqTwHohsn@qv)UL^d)sW|CYZfcK8}!S^4~e?~+$+|MLIl?YBzF{g%8^?B#Bjl5fIw z>`AABj?FnaOTy|L!$x5#g()_?EJ9xkr@J59Hit{H=JV&e`*$ze#;m)P6V2e2A)`D0 zW8-nn1-`!>W~zw#zSfu&6JxiB!S=xU_)GqL@6=TO89vE88<aJ7+3IhLHTB+4FrOH1 zsy$=V?YMQTH7-1OWs*HHg^_#B`p#u>>@Ui_zI+bb=~xvzzkucWl8t{GFIk=}+w2;& z)mL`%i8r&8{HxA#c%R5^X*%}6x@Voit4_HI^81&Y%FO;_bAH(aqs}^w%T8MBQ|~4R zhRyj?z3Y9?;<@Tk(Vw(tMh8aNEO2tI(UAMKVOQO`wT;K*>=!O(i|=?|loCGo@$|o% zPH}syrd{djRu$QA?U!>jd1Ct3TW8;fZ=T~7w({R~ow-ka*G{N&`z*(s_V@U$&slHU zPF<hex#ZdUWnUkBGn2@^TA3B&|D0RD`Al3);g_w~dbia)?+{6!x2QR+VtxBnj}X_* z+{f(}U)nn7N3)Y&sIOOgMzl!S>h>>Bla^$iSTDfW>;HFF<Gy+S86HW>DgI>P`uHZ~ zOWYgTzGsK$da+3fJ8jG|`4{e2wRKt5&$es!cV~;+RY&V{zhb!5dS-Rrz0{Z6`l90t zw>4$@_U--8kQ8}-%A&8T>l3Yagqz4VCZ87aI#!l-v{7`D5YN+2&nioemA|eYyvTO& zZ}!pBi(XkJ+q6#K*^pxTtmwF<LdK?zPfyP|xF<P#R@~o%zj-vT#3*`vsBJnV&~xJJ z=Ij$6e`aQte)`kAGsrtwxGXO5Ghg?mmtB=bC0kmG{CB?Q<(lT5t6N-mTQzuIC)@2H z!6&l2@90&07F)KwN;3OqzUb1Ox-HlHrztFQH=4J!cYe7;ve)B}J-yZzOU&1KF0k)V z`}mT3XG&3m=B(+Z=dV29>Sc9o&%BV8JmRM^lV1P28!F<la@Fo8?%X@ickt}mVEpi_ zOKSg1_s6;dyEdHu6F#}z@|Rbsyt7?-N}a2I8*fy}rjJ%W%VHe#n!_{~ZuY#n@6&|o zV%quZtKAQFy4}1W_2R7emseNj^IbKW6*^TXZ}r~1U3`|>2U6E$+>SoLv@6lDEdMXZ z;<m`Dg$x{?y_(BsGCqC~9O`iOSyartf2rJpynV`(qK@^gZu}UN6SXVyQEot3?1Rbe zjrXc2+1T7!Qyl%LU9omI_ivvg*Edhr(D!yXz4<tD^V>v4kt>Q%cznJX>n2{3<j8s0 zwMD94#r{9T!u9`N*>64m_vXJl_y76)XZS4sxcooEQ~e*|U(^4nf0zHyp#GoX;J;P> z8UE$|XXyXW5c8kmYxvjm{~6BI|L%W%Ki^Je&+3h))84;}O<!*Id)~9pVQU-NO;^Ug zQL0_DY}y;Y70K;K*SBquY_<qAsFYk;uI}^6|4!r;j>(%?lMFqMR;~5?Gui+1=CvtS z+!vV3k0fTWZ2G!(3j6b%x!>K6o>;YyfATGtlywG{mk-Z>TxG}JdY*0F^nSzF2a{AE zUwX65+&_G>_kv4rj9wR9U(=oyIL%6)QDBwp?VEC$^H2JU-tBnru+_WHS~|RF*A)3x zRU2+SJ05fH;l!08N4K4=v0}4hJaOZun4-CPHy=A^Y>dnWX(hQnc1CuWEg#KAgyZK2 z#M;P*Kb83vo^vO7-_A>yrWItROJBFre5GZ!&c2~a_02;C{zXX)&+Bz>OwZ8|xp+5Y zZvUc?6XA>PQZrv#RqNSAndqJ6Dt3!1vsZY!kvWq0%h^v}*DvfmyLRcTcYlk;Yqmu` zj#>R<yPM*h^IOj?d=vB~Cur4%HPfC(94n~rGtt+~5-{>>NuTs+i|{*-jgy`@F;8xb z?C`6Uzp=<P{rMZlXR7-P>gBFoK52Vkoe}%Cs#*8CZWey;d0qYW^uw0|A1WScS<jui zI`7)^?wxjSKlck<x;-uD^JRfjb-Ozm`?WGp%<C~}58287X%)AHM&j&*s9!IN%Tv?l zblkOyUocy!Y;!K_qjzs(UOa8w{Eeq>`;PG9l0@lmT^3tfg^o{U;+c3+XLcm#ch>n1 zUp9G4+O&DtA5TA;{HAOFn(2AkZ@VMswAvPT2OemA^Q>YLYv=NH<tvJ}6o{$5aM65T zeZs8J__JxTb*<5lSew&X>Gw9xlr2`-F?Y9=^%LIETvyA*A}!k`QVpjFbzDDoFNt;C ztmC#9{QPq58omWD7O+j2lYjV3li`}Po4ONET`pJ~JuxejFW^&j!_(D|3N(8r27IU! zR2ImP5Dod7G(q!VPNBxl*u8zrBdq-5bDeY4yQ)84w^$(5_F~GKg`0lQ_CI>AfPFpV zPv)mDi?>{yJL#;2@y7cN(~8AzZkjB3_1xv@3vSPhE&lQ8%SEn|A1gOsPqqlzzG2T! z?L!RAHodQ}wH8dCKRw)XSM82TvpME1n6_qu$=5zn)w<MG35FkLNkpz~TPm|5{>+BJ zpMpLbYnsE=<E1BwGWdA7UOBCj$X7FI`STye%U6AwpU>uZY_5mT*K=Ea%qCe|)wX`N z*kM!rpJDQQu_T|Z@;jeI?J`>>7r8SpP1NI=@w0s?+IGK9jNa5n=^o*_S{qySTct)> zGFka;r?x<LbGFr|{co>a`Dzk&wC7$df6G@jgSi{Cy`uViuIIeC$jM<-B=DL4L-L=G z>Lqmr?QC=0jG09Z?L8wN8XPg%(<fJ^BzS7apO>loUj7pjxR5O6<&-ZzV~(~+smfG# z;lugW*CjU3eRO*A(MtYV(aA-pc-P9x_(ZoYv@*D8^Lo{*kI_mIy~oWiY|vgdf9FTv z0}>O0tmm%r%6pv~H}CK65>@dvx55|q-d1!hsoJacbJvq-S5RLtGpygYm&dpC`pRWz zAJ|8Fsr-Eh>I-t5nYl83Myg)Ysvo76772?tCC8^++Z4Kr4XH0!=>h8tw#YvAsdt{p z);`y6YRU`l-OC?G+~QrHmRM^$Z`uoUQ_e6~i<6Br&-scLZ54j4wNfZn`&aPvuw9j# zr5#UXUH8a-XPUv1wD9`h)jdD+Z>{mT5TspuEi~&4bFW&fc!KiBSXt(}Lpo8(!i`)% zo@G^58E`F_;GH<_n*Z8kvmSSpnQY$rV*agGqr@4)S4%^fjQi?Tr^=sv^{sT?{s>TC z@cm1bvL8#0^?J`v{+KU!?_<pCs<24Y=amtrwJRdaC#wBt*shngk3VN}m)N?O0neB3 zudqD!@0{!Jda?c&0(T~XdV^J;x#WDyuguzZH0F3=%bSqiG<D+{ISs}<Y)7?^9XS<} z&k<?AXo6GfvzOEN{nFpxGv(T^SckNmyx$l5zIwf7wsOZJ{`4!aW|mj&YxjOL+iv~B z@+G#=-r$})KNHI*r@Tpe9Q*h}@X3PI>z#>f-dWGOv#7?dXhO#NnXAH|?1~j&;_R6r zR=4=ubJt(Bmn7q6n7rI~EsQbB>Mv6YcXs9szT-b5XNKH+Z|_iO^jvq5!Q<J7-kcPg z$<+LD;;-3N%83&|eZlJ97XA~xYruWMtHq*@%bu=VDS6;mf^JYm?vKV?JKei-C9#*D zSKr%yd!E<kn#EC(e=ZwapRHLNXDp@F7?K$3R@SrZU-s<ORVOc+-z+s++S}iza?)aX zVZu&3r+o{HU(J1Y_VYRsS^2A4hVOGt+E%HpzPak>N%5U>{_JKuj<alf+o7E;b;x|S zkyMOP^WGMtRZ8>f+8SM1XZ&Ya>Q(xvXX)Zkj6RYXS8KgFcPihSdi^Sg-b}ZxMoRvN zHVD}XbW4Aj&alJA_MhU;&3b*6iJNTaD{Viv`SYyT=c6Q7FW1Q~+;1Pc(^NS|=V?jc zxfPA=Hb=Aeor<_T-+H6Se7U*@w(FOgY|`BMo8{!DTe=aJK~K+2YU=T+Pgx)unR~!* zbI*yTaT=1rVbdGBt*_@_Y*Sql$f9E0aWY|*>NX?mPwHEiUOM?@esbEZ#lcUsW-PVM zOHMKg;LbQVKeGFd`X#-RX>qHUA3C4J`s3Fg&$H)eVfF?mLwbW*3K#hELpU94tC}A# zlgYaCXnT$Mv>ne|o7YtH%U50ck+W;-_2@=z@e`lSu4cOb;!bH|wcwq9H9jhmFTXG4 z(XEx1DG#SftpBrg$D|_1xNB8nXA{=H&d7Al&RVE9_mtC|=c}r!l_zIxJ$PM+{if6L zmZg8@JebZAc~4hvrvIZasdIl+SW5~$J03Fac<2>h9n<*PKP`2STB>DuhzaxCzWH|L zpTfRV7R%2TuGq_R_1yWAJ@bm*x@%<#XYCE-yPk7xrSzjB@yfkcC*5{#J7&}u<-1yi zIm<9JV2xtW>hM<wcZB<}@Rs;}*9kweWpxVwoq0ipS<f$D-#KNKRlxVMspqb#m3jU- zGt2jJ`+{RtYhxm-_by0~vz;V0^Pc45dUgNayywe6-N9|8lRVFyf_4Y5ONv^nJwI;+ z>kc~K*tvSYtm56cZLzba?w;iszjSp;cki6Hd`yAsG#T{P?+Slku{ETxu$#^6R)GHT z)3YzRgoOF)T(LFXW4rm{VR@7P4C1fLy#=kl91wkeLPgc~p=(l<>*o$e!<Ki8CKXA% z`WwJ_uf(JMVy&U-Kcjw$Pv3tmt2@1Ed&!N(p*Ql{RaYMfPe_j2;<e-0o2$o5K0f`T zSKQ)oD9hs1zun<Wp0&*1J7L|LT$lBWi#U109d5Yn;IE%}^WBFq-J0}#*WdT=JiOw3 z%!RvwNrg}2Pib&4%g5}G^=qC!Za?%V>1t<`_CB4b>HC<!{E6@oM(z!MF1=qq|G;^_ z>2G()FORd_P-j<B^?PgH@m=%dDwVg~UNGn2_Y+U|KT2!lGx)u2w}AJLrsu1EU!45! z{OkV=&bwGw-9CL@uJNt8|M%DRuUmg!RL<Wl)3M#>hO&CW>Mzn#A=5;j`Am2?y^yh` z<JMFDPZ>S)S95KOGu`sY<Mi|Sv$y?wH`&yvYjV;precSOIe*T`&-7)=zr}J=VO4#} z;;SY*YAYD38|Up`vQI8zMsUUXiOPna%hEQQzjeK-tFMr+v@T0rGu3KuY*_HZgI6-H zYMl`0ezW=EqWE<7lGXmE*;B-)-u%vRuF6~X2CvGTnb{_xT30UKbeVK=Tgvq{SElS~ zyWz1aj(NvvWxWo;iHyI06`ei9&u@I~%F#f3jms`y!#BL2xN@~$o$cN7V}a);uho4m z>a%vmTDbs4rF|;=wGpv)>|u$=<ZKr%=L_#l|C{;x{KwP(rYzLYh+BG9S?Q#!{<+K3 z4I`dZp3U1_clFG3k)>*NS5K=iSXsJ__r$&AgE{ASe2>eG?Yo)vsn~eV)ho|-&pUCH zw|c#<cb`MXrXMaxpB_K&9h>nuzU@b&+v7<bTQ$3G)P}UWL>ufWewj9P&GREtf<>#c zgRPxrEZQ1lzg$~XIm~r|f~?g1->S^Dw*MK97}*4W;t+m(qf=qwji|q8+s&r%n5eZT zhh+ZQHs@=$*VoUyYs+_=$$RPMEQ$|cTcVX3UG~}7x1{XW@7^!sUOB1ne~X>3TPnIz zx0>_rp`8ofNXtb`GP7QtrsJ`yV?w*h8E?gt?)JsO;wIAUzv8slOe&6Ex-l&7YO~^c z<7u`hnO&#$>%~0deJmYw>H9nW8<~EK9&)+gej_HplIp&GW||wzm#tDi=Q%|No`!b@ zZ$dkRl6SuHer43%vi02WoQe8XD$=<e{u9dH7gRnz<27&Yi`?}od#-JJvq?B^Uqn-< z)VYc_v)a4NJ*)e>XG>NTdDO>DlF4WHz5Oh_=){wTa8tdX^Ov7@U9(#1)6Sr!2H~1Z zSFe9v8WOCuY}Gps-R;Hm9vHpQIp2O&aGL*O`96#AT<7UO=BvId{xap4U0cn$<A1v5 z^VO}jimceH7Hp>QeRbAR{*p^&`Fpmg9__pJ`rO42NrBr;*miEdbk}lg`l798)wbsP zO09Zty{)<T)IQ&AF|%7=7|!kUnJ4|9!O7#{w7L}zN&?AFnJYXhewbVjFs<AsvDkTL zjLG5Tj;E70E`B8VV_mYy`k0SqE3)-IcpiT9-u9%NSec*Y+TTC5v^UgmIX3HC(Nflz znQ6Q2r%Ha?W1=)`hn>@r^WH`WtYRiFPUr8skomQCrPb#xb0m7Qa{n`I^x3lCFW2%V z--i{ci*wypoj&(wp>oms*<L#)S#H|F^}6Tm!`(L5qIC*R1~G~x-2Lor<bD3!tf<B{ zmpUr#+8=f1?=qQqS~b~S`tr}jXp!|XA6QME$bIlU`u@4?IlZ#Jb=G42^4HVz4m_W% z`ziU=m91cxZEE_d_xPf3jJ!hj%DGi-Dlrqh>}IUCO_R62vMA_@tn=Y}?O&cPTfR#+ zJ5py`tgF!M8~$Yy3*9!))1I5`aehh1^UrL@?%okrKX$Z3`G`>Y&%)b<mI}hYP9ppL z=RGr7Ep4=0JBv9U6q9d0ZayEK28zjm@B1z&zmQ<xze+$uJLTi{k|z_2eouaKf8u=0 zm5X1bpL^4P+*17hRI_Punu1sTZWiCWAYvO5{&i<@+~n0>lb+?x&Uotm?eY72uOm*! ze^Z@vuxw#osOj&+y@ihF-()78y6($2(_U*8ljEJsn)%|ADSyxU#EKUwzpT(}I(b<u zWn<u>Y21qIjW;gUGjg5Uf6t2H>eW>{m%hIvzi#8grH5Fid*9Fz;*BcHNxQm!f5;iP zeeo0e)|Ps0jh#Lt=CBK&ufnfQC0lk_@;qzi;|#yLYpP;=?xdait(%Jb+&;^3NB-Rr z%^Uir?9}ziE2l_Z-0@9y@5e5wuW?b+MH-YIey*rCE{hb~wei{+r!S36r>_WR2CEqV zTF5o6uaLd?Wm=B+`y*0<Wsy&^euD~&z5F|aZYzhSE>Nq{ocLR{X>aX+hAm8UH+<p{ zeqx>bAmEQ~U1s!B<71$)qowS1+D4tGORIjiT~)rhwES~-biDh^j#FP_-mQC-bzURi zD){Zcrq4;X8?1aS^;VQ`y|^u<sMB<E&Z&IQ8K)`@*NZyn1Qbp^7Rx66wCDJjXNzap zHOT4i;F>kR>1@rHn|<rnu2}Aux6sC4Eb!c<wXc5MHuYMv_PLyTbX^qtzGXIi?O~fA zyg#^9%zxSoUX6A3G8cYtm5sN^yd7ltXvJ*1zSPL><I3l=HckDSkZv(`<CUUykxrc5 z^=9)cEni;nje7d8@dazaeyb(DS7!%o6{z}`^GUdlHTl%Ephrg^Wq9T3zR7kM*R1!6 zXst6?t^9iSwv?V-6_v|{x4n>yTd!uO+u-c`QtkYYi;rh5W~~kOnZ&j1%Zk>Mdh&5; zbq~^)hy85&@G<>UzHHv4i81fko<EK}2_B_9>2r4Ztgg-BAulg{Pt$m^wwCo!$KzL- zlkXqXn|93lI`^w%t6eLP%T09o!rP%$A;xhx?J7&c^<@EqwSV3@<d@Y82&!Ea;y$|9 zRaN+)y|f+s#XrCLkNrtFy){a^?X1}IeazqM0$ypJJM^WnvnJiWI=@!w2dljI-Y@Ca z2mWs7{__4rVK>8fqk^S(+e_o-e%$g*-_bJheXoxHsT~#;3oqY#yFC8s@p(_b-%Vdv zA9(*-`BE$1OS)HI=c;eJ<+^+8FR7iL@)4$I&UL@ZQs7*D?&|Avd11G6mhI`=If?n@ zr)OV6HB&+ltHu~aUy%7IWB4KX?#}p0N8DVt&z<>+Q{W=w`G{!~OP{4^M=S@8feWiI zz9IYE#bvMf8@*+p!hRf|zW>ygje(PQuR6+{bldl)ZhZgx7n&N$uX3BqvL5fs`f3rV zxJS@<S^cDadmXI*UFv23&k!AD|DWNd^!ML?&2#=Ou|N0xPyMUce>VO({73!q<v)}D zGi*8jpF#bf_V+1u{~7)>1pZn6!~S}`;=k=*AJ_Gr|Ghr_Kf_!8x9VR@?_c@P@K%2J ze+J$E4E+B#{_Fgud53rY9Xq#|{~7cY?##Zlqoru|ZP~iD@3Q}X+|^LEopZZ><`zEA z$4j#<9Q<QAcyIn)a6Tl|=E{-Jg7F7uPmvV}J$&EnUt}mxo>~0;nre}i838-vUA0w( zB#$1*P$=$RrXKw3kliVn?^SDd|N7SPOh=RB&-s(?VzTjK=NENn<oL<9UodSw@%npU zQM5?nQPaqaT<Wtw^_i*PPTG0i$l6lk9ZQt`f{Y@k`I9beeSJnFGW224tJA!tGM@xD z7RB6{>zlYK`ZEWE@p@^Y*u+1vDgU}Qa*9u$zwh^p{XHeuUd1|nUfcHj;&P{|w`wOo zSxmq1Yi_XK`|t}d%O<B^{i64!rF-7o@Yi*2ab-0VE<dTXme_H<;#+OabSB@5#;Wt; zb<tD&+s}pYvGx^BJ!?1JA<TQmuEg}^?0F^8%kL^qec9|b`)z5A==}8;)EvHTo7tGt zzjfwT*AL$xb9Y`h%oQvbl@m{Mm~vf2zN`PL^aW|2M#ucw@n2?ge^Sma)LhN2@HOse zK<3WuRc;)$24X99%>FoRo3Zxaz4E@7#Y^vPzU?z5?Wf(A%|DlwmCyPav?opFGSiB~ zt9ssQ&iI#OxG6N{#q2k`I)#oMeJ^BbvAob>rJYmXg3s^fygU1G?H5t`t5$}ebH22# zR$6^?*3YBtJJr{-neA|I*{r+5I$M#kq2^3v!A_oU5~o)6S^kn@6%kAR*)`>jv!b_q ziMWqs$JJT~;ac~t+N)Oygc|i`rMS#*VW_Hk(JXzn#O3cE+kLV-H|qYpdpM=q&N06? zJ>B&ByfsGG-6C#0Uc?)oa%pbk=BaxhU!AaV@|m#pZ&YptKi{S_>GAP9tlLbMO+B*R zK2dU8xa(?mt%RLT1%aIXZ>H9VPP@bN+2YKk(5^$GW|<WnoA;Lfs7Q!XndIcOgJ&Ao zqUxH7_b1wJT{X>r$!}?st5Wk7Lyl^mE|wNt)DZ1d@_n=T4*w-FFB_|;`?pTp!`!f5 z06uNFrFgPWmE&yNP`8)rppIh6sne@pWa!_#vQ|TXwMR{<Q}69LVei{Mh1<N_U^+cX z`F&I(&-81%o)@Yn{giXMxi*vEF?Yg&<%-5ByFYtNJ~&=nlp8T;Q^9F|@$b)~Pb#a3 zz0FdOHf`GHyLhSS+Epz(`GQ2A+Xi30DKp!3t^AA$cBdR%rtGh`Z9ODb-tD@qxMKIG znRQ}($6R)93{{<YHT&5#sS@M;nyNe2OiJrnoVju4yYy|VEG9qocy!nF+M*Kf@M`PJ zN|mR#+N@f^v)a_fJ9cx_6aN(_WS5J4HkEpIQ{tRurkTzJ-W5kvnG86L*4oeSJ!F}n zkiDpWXN8;U(rCr9N2=;_%W7q-XL>ze%3m0?bJme_C+la<_FZ)G)vfbI*AM8IZ{cA- zUc~Gt&vWs@lb0XQz7Q5!ac*(6)k)Q7saAo@=1P98Ep0OOIl1%mnWmqaxmhYD_qrr1 z*Y3Afyj!;|wrb+;TaFCwVK1HEe9y?PSsf#sFCIQu`+1MFmb=B?X4PyB@xx2czF458 zoj5IWN7DZGZNC~ap3UF>>bpO$)z{~(m7f?n{i|NC@%GqvpkcCv-z!aZ#lH2|3i$e6 zI%>t=%dP#m<;VUR`;QuZyE}RJvMaOJ9j=k|jqhK*^G)%!&Txslvv$0jWwWpKTn4{{ zaPYARkA%#fi`Cz!7_XKN)PC`#%~|+@nxXD@^`EM9-m@iMpH}uo-agc<R^anzrX>uS zj34T(I#;(zY^|wZQ~kL8(C3fMVX7JHetZs|_k;iP$LtB}*48f`y!g{>Z=GMO^!V5N z-RB>qTVDRVo%zf6<EG~sXGGn;`tInC{Xcte<zDcM`2D!R`cdi=i^cD5X*9(jp8j#_ zy`H+Af9vg?t2jaZM7_qh`T^#j7l>~9^J?Pun|&$KX*q(MZ}|QZ?br0@s(!KI;PnE= zo{n2j7Cy*WFn=}It~fK32LY>}&+jqY_paO2Xt(Fa97f9p1>5S<*kz_QZhy;^G9lD{ z%_7gtf?ppZN<jU@I>kFamNm&IF3*~B-MTmY&9R`EIH!BAF;`Xvoi44~wPv|<^RkQU zLcfS}zunvk>nEm9F`s(-JHxqMzVbI@RYCp4t6En!zO<Qia@$h#H5aD*ZM)&AmB(S} z^_cI3;Ah6Czl=lA@Xt4Yxw30fe9x~8SJOAvJz1HT=l7S#ew<RgWVLslYp`~fw&n2- zkM*t0_exIRee>#!#p&Z;Op;E0)cG`1^zh^9pERBFF6{MQ<z_pnD}L^Bv!qWPn{V9> z`@4GP`Bv|c{|wpF{5~zccEVh_vY&Oc-Q&AeTesP#W}iHBt~mU1)R#vm4)a#8*UfHo zD7f^)<>a0J40buKi+krue&9AfAK<vsC;afMmQ_kOd;gqYIxB4Re1QztQ!7{cXo(z| zyXxUz%ZQayo3xKGFAo0CkhURz`Tiem!5wkVOg7b`wo<aK>wnxZUgdDuDKpH}ZQkol z|F|vd;|-;b|NgA>{Csxm!y-ee2`i`O-aK>G{Nm~CcjgyjwKh)QpW|)$Z?e+jt#8EB zwVt(X$f->7j97Peo*~~RCdWA+4CMn<W&SD6uu`~TzqVq+CQsk|X-6ZALwNf3+>3aw z!Yg{sW{0{##>TB@_3Iw|Z4-H=C$OY;-@!zNV=+-bw?0Ym_YPb+^9k!zm92*6sn6yc z+^>o@T;wxXS5c;|+%~b+TXoyCo%?eqtG;t<db?1wi0ke<ejCf~kl?#~+jN$%x^#D% z<Ll$M1rioVp1btv{O$#TTMd6UE!I1}%+Akqft`lh`_C+vDMbz%i>8;Jzx;gBmC)Ww zo0UNZqNg-7!oTiXr7<x$w45dE_RjMKl3x?j55MX-t*_L7T>9wsh^ODxPwt-UHfgT^ zg>!Rn{AZXL{IEG}uFf96FE3|{crUox6?gN=oBNd>-p!)hug_ij;LPHjum2fhZf4fa zjhcKVN^P>&wxvB+!{^?1Jhs%1&$U-7rz&6c^2y1&>t`(KlV5+8lf}q8)7Mm-pT}+1 zs_5{UnIFafX++G(DU{h1W>V^8FM1|v^1bJsTOH%8532KT-t%3h(sF0SdG?=tPQS~< zzs>AepRVP)+S}W7=byFh-!@$6%6jmVThvtN6vN9RC+><Gzh>{9pBBHqcBvrAc;)qf z$BZuBwc4tF#LDSm+1%~YtKNHWYVJ8zmn-$i<H?x^+RKE^8;nneZu-n0q9Euhc-Q5# z!k&+vOIPNmO>sOD|6>w+tdz&oNgEgUDnojTA6ZSFJS+h96s`R9#M+iQhxPE5P2CZH zt8|x7Zq~u7sK~YF->i;Txl^UNy7>uDuJQVi105;C{mV4ZN4EKG)oH2Z4E*qY;a#hh zEC03Ky5?*;J@Cl0ZNhguECTmD&srG~`1z$)R)yol<<nKJAKe<nainDKzgV_A{vIro z1Aa_@#lN#x>)4rfr*1V|Kc$)U`nOEZ=W91t?QY@@v3<YA=NH?Cm!&aGe7EI$ZTc*k zjX&CX{}f5vXj04b@^1f+Z|6&Y24_5d^kt^6w2R%hH9=p4<FEfdQ{}H~<vw#(?&7KH zw<qq8UZ0{{e`8xQ>y6&+A>rrFnI7e|-<aC19ka#q*Pl%%*x8B?Y~2%+I{8Oe(zD$& z<-L!Vi2BVG)y?W-HIU@3oZG8eIOkiK&5jq$fx4k*&Fdc2miF>0DtMOcZ8~UheRbTn z)Tn!oK4;yIfqIHlK|RG;HHTgJLKR&jt)iSjJw<-I&`GzwCavFgGN%3DP0QoTmA!0h z{@u}STeZzTRr}<XQ`{LbxB2e<ILceS?rn7AA5c%R*tve+v|SsIouB-*konIA*QGHN z&%bKXin2VyI^Xlzk$rz07mBCO3R}NLvr9Yr!tbfNn@rQf8|QO{)SXROA7B6R!1ByG z=XvWDZdWwlZ(V;@`%78{sH`wqaR11&i)vfe#~a+*Qf;#K@7{H*7vDINTD7h`ykKkk z6!E$0-~KZk{JB~7hOFA0nIXGxy}WHC2`Xb%uCKWgTA!1BG?3RsMs?zJ$Mz4!HQ&#C zE@pnh{Bb*@aQNjji>lTf_ZPboyxcxuqW`fVzeQ_bJ-Th`1saP}kFE>vul1>&%eOZD z)SqT+FP{0j7vFlU)0f%*?#ihhUtiw#GE!PG7t&KSKA*K|`q#vCi=~EJiuQ$j`S#au zTV7fD^nz{lGq$GUe><b+8mav{yP~SYw#KTOW54spr<N-V6FwTLvI|Ih^sWoKZ?WlB z)sEGwuV=4I>DebyStoz@Qd-<{H8b4>&fuQnfyZ+ei`F{(OzeX76m#qZj4yxLf2LiS zD_{NN^Gsb)p9gt$y3MM0Ke2t%cr|lM-=dtW*HW!y-bM9!9cWN=3H)ku`to1HFT3>b zod^#zjnh7-@uf|Dfe+&q-8Y7(j;`W5yxwPl%HL<<8sdlDl)IZVGFd0>XEhBv%rEuV z`C7l-!jJnUjNXM!a7>$Ae4q2zzkt`!u3{><tN6$jwX5iTyt`PNDfY&;%lH39`$c^b zp0>ZHBdIR*dB>yv{TXkqes4TiJtaoF`p&=Qd(V}uceHZdwKr#}*>#Wab^DydRx-a9 zTRHJ#ZNCp=Y2~#&m1oc0&Yc>*@wicAZNYS=rXy>*W;|Q?W9<aKIzA~0&3AX^pM11j zDf--*pA{}94#i=r%VHOtY0Vb-D)RM2Qp%Ug_R5Qb?-%`Ty>idzy!fZ*m2uOIHkFs0 zRk*S3a$Ruv<5z#GCbb0y=SXi3m%SXh{BWzD;A6firBlDYW<0y&`Lp$9^~;pLq=)WW z9WXuYRmW8CX{X#HMC;3DUtY5%d-0U{oT?Eox*lv>EIO6vNTSBBx;S&L=Z$GfJMTSz z@gsPyvO=AzD0hFbU87UDaSEuhcq(Lhz^=W@W|ONXJzP2O>H1}M?>HOsKgkweX+E<# z;mwPWXK%>n=3ks0ZM9QX=H%v_nw#fOea~j;nxXmrpqKThODknh{yMVv%O$VwuDc)Z zMawS|eRnR$oB7xbXC<?+qnB5Q&vT!+^|hDv<vEK#zc4&+vF6{UBL#+cq~}bQmyanr ze8hgTxsaRoDoafVW0j|Gc1aaRtxPY9d#dPHeB0&DTD_jAi?2JMzMt8ovh=t0MLkY~ zKg-T4%|E4nDXvY9ZJ%pY*y)(S>!rfpJUf5ccdyf(JSnYZp}-oGfOEYerH^j~9#hJ! z`dIq$`8(#@-0Mr0RwZxnnXSF(YIE)x71PWUOO9{z+PkW|(2lcZnyKj5gw9!8Y*-ZR zJ%7wdNK)moYPH~*mZ^NBU3$Na#F<c^`L2SiW~G_h1+DDOikQ0UvMU3xl<c`6yN7li z-`h5QTT^qf+CaZ{Uc|EJr|bLgulA9=rMXO3;mo|q9M_QWuGtH$R8x!!KHq%%YT9%5 zt1IfFN@DiB(6zkVeLqG2_5P_-vhUr@WDT-iy=EJC()md-_jq%QCQ3$K`8-{H31fcY zEM7fXBS~IGnTv;QdSU{Z&hlSbkP@wU+FT)3AWc0|$l&FhzO3;0Q*I|$S&E(LwDIQI z!Fo~5y!Rnv!LQSQ4)e#^@+#gAskU=W?|JcJsR7%T;Ol-7CnmbJ1(mLJJ8=8d^Eo>X zu*rNbQY)IWQPF6<;P%DK_bN`yE8g}rYia`T;`I~MH-GheHb1-m-HBWCepGz@!H~Hy zPE~i6^{R87nF^8ndE-}^FVd@%+O^-L{lx`#Hy5wCD_awjH-~cPJa|2A*OQF-I!eJY zhx3ncdk71@eO~d7vtaktU;3M3&Z}Qv`A>T3+-Lj3`X#q@uFv@q8aR8Ywot@_RnPiL ze80uI<^`?&-XEzRZ6Bh!e$CWln&t&b7ytf=UwiG(w3hX8imq;&-07L~U+;KkFt>Y> z&aVr?U-PQc8g8tuxY_9`_=;oYm(Y_QHqkcU?|c3UHd(jw@@6lK{Jm1e+dI#O^eJ^% z)voW2v3d22B|akj)L#C*%7X8=ul<{S?c%v}(|+#Bk4_dAyDxiT`qupG>xG&l56w%N z@+Gf)O0#3lrR;9=*0%y|LAD9*zxbc2ZO-La)Q-KoVYl}Fk6Hck-!>Ufbqv|Nw%#N6 zduHl#eId6+-?vunU%AVQ?RQJWQ4V<%!LMhI{QWukqNBmY^LMkBM?YhW%y|7WJ^Q@- z&NnFs4VJI{nQs1~<&U?Peg8%7@4x;gD?NX+^H*evoz~AtJ2AtG{eAC$tm~=acrxqp z{%t(-!@eGVyl(&7)3es?z8}jnA-p7Diuv9hzYoP~T=lj2UG_rza$0$K#eo~Im=|CD zutil<?&^sxjd!)(wpQm<)D~?jJZ-*y!q=A)-S3~w<edJg=cLrC3W-2AmFY8<dKI)T z6jj;OA7wS;_Vo(^Ta!M`bP(KhE%2MmjeC3SOuu>x3BQ++{cCl7-+u<{nm5<aKi;|g zakS;B*-{g0W9LmfFjsu%tk21d#L_K|Pv5wszj|wk)6J=0R>=K%TEB3+jQ#bb-~TS} zkNele`0t(n=dFLa{_V9tQGag#$@upBH{@CVGvx8#+4ugv>c8~A{_o;X{Acj^7ynEC z^||`*^MAkl&v5wZ-^?HD?_B+T{<r_v_dowLT-aaqpP~QXzNI_dHQxTw&y7`$-mNsl z<!9f~bw75Pc)WAZ@D`Oh%jjk(`#tvDvN$n?_~lP}vM=l_jR`p{6a82DwcU@$ui{(l ze8r~q?z(tq&h>lw`YQxmmPZDjVww3~((=~tbH1ml-fumh&p+pVedd9`CLdzwOMLuu zU*g)K^(T}LhrIqXd+Y2~b1t+z$k4uVHc4jV%gkv7zCX@=oXhm$?4J|!&)s<;w<h1- zW*6s{T8H~*|1+!$f9})6ZFpvO#oZR8YR-KJH!k&5^-DX;D_JfOalLn)$A1QuhL^uK ztXljyIgF)eUu7MC{<MsF%ltFVbQh?b@QM4Mx%hL+1+~8$d?s-%|L%RrySvSwfp3EG z-CxHazBzuxy{A&CSZvnw!sX6cMtzSyvGIhSc6z3>JaYA_k{1P~5~3$Iu^#%Z^C)wA z_g}u3Ve_)itH0OY{El(XmudDJq}(lyu4SwWS($vPQgw39DgDTmoRxeVE{2?O0}Xi# zDl0jE|MGnH3^}><wL7?0fqIMcR(+HGwAD28{PErEew?zr6uNY8(#ok@MVn8tsDvN2 z_|L%2y%f}4JbrwO$%0cKb^e{|dH|VLjN9v-<>or6E92bd*@lrUkZHv?UxKF0{CEBK z+@s!WC*-+(mf}pU1urtKI~~4x=A38imzzF3IJHUYXY8%*+&>SUQ4|(${`h5+Sl>3# zBGWv(Ma@n#*0=X9(Nfyk)^5BCKCPG)%++e>p0%UiFHFmAP1i?;7nlD1$!7ai{hy&D zHBGXTugIocG#1obymO;?rNd#Tj4)l7d9Plc4+HfUC6538ocLTmc`2y3xIE<5y0_2b zW@p^p`Ca;j*_0cv->|l)+g-}KGHq+qho><YCjXX-Y7#TvUEbrV(GXDXa@Jji%h|s8 z{Bg%y$9~1J=uIk4Ub?aL-qmJ>_2!^?#d)WWziZ-=(#b9My}v^~vDK=(h4cCH4G|84 z6Xo{hTH4ulMfJ|vub{Kz>C&$K#wP8&-!(7K`Sc_+ljDi;28R0{LUX;P?r%F8^nH<I z*^QQ+?0Mh0=gAyf`SM-ct!u$YGxNO_MIT@7&<NbKJmYbC>;;WWGb$VlmluDKzOK?P zFCtw2rAg+Kt%69P_pa+NKVQtUI(BAW$Vwk^P#*)l#&qYZ-A!8XHKsK#sgoxjf1LXu zJR$X;GPt)m=Rd>3xz-#1Gbl|z%(m7la>m@3m-RHhFSy#Jk@M+W{hlRD4|d&teeL3h zwBT)4{~6ZhY+3KOHuA^W$(BnagO06Qed*1D$3^p}DIM!Ivo-H}`Q+pSenVfG+VfXE zSe!uJMGk&>rB$og)|*{^r2ougR^rAZMV=8CKXUvDH|!3to~L$|we~&B9J_O$?@WB2 zmik1(zFskQJNs`x&@xj6ZEtVWo6z2()`Op%tEwWWFkX7nV%FJJB2{~StA5<K$<2bj zzWcu!PMiMn>Pq|AbK=}v*6z3(S`|A*Bro{0X1GzfS-N1X&5YgKpUztSv`=n@gA$MQ zzRVSlGn0iqJxpf>whNX&>X0qTRG#E@tj~P;r$gH`ZFN4f8X)Es#rn26u9dT2b7?pK zJiqOpy{n_HFI_t8&A$`ePj;_&HRY&emUVf3H9@>moy%^%@VrGlbF(5fKM5^<_}s;+ zF!=Ia-mPnvWg9K(Jp0CcwLrq-NWW{RHY{0wDdh8yr^n{b2~t0HHC+8jaM_m<=|W2b zVQ=F{@ypK_ZdomDRIQy2npa#HfAg{WylrPg?+8XMd|$i3_38|E??-|Lzc*Ff_IT1$ zv|sqios08LA@hp$$1TO<LGz009xqqtwD)9iY50m3)!n(S^6v7IowJwyvJ9%-@%#I( zYgX6)cBXHLU2%J>Z{3^6(HADamWtRl^|bS{{MT9y1?eiM!Vj@U^IxB**S&M%mp$Q* zAulHyg{^oP%sAot%o~@cOD;Nfe7Y<{)~l;Am&@PrUk|u&=^>N%-8W*KZEL;FjI*!Z zTNJi9S^tE4*si5fd8g0XB`#uHHgVA!@IVP)w;yNt)ooK%V>eFP$=|wZa-Z90DekD+ z9oD>|Id!MPC(oQCb#bSe4Er$+(312!`Ui#i=eS7D-uvY!Xi54!?+)>O3%dR47S3O{ zL?_CUuQEO8%#G{!J4}?`Y(91MTkA&G>?--9rQ6)rbbT;>=+l35h3M<U|11P^+b5<k zKT$SI(fPwR%cW&K=Or?HxsFbe{juhh%C)JlpDBmUPn&xGoNjKc+%aYCtL3|Xcdq)g zV9!eZ?f*E>uK0E!Q{~C3rH^j--I{Rn$u!rE8hh1Fq)$1uC(_VH_Ee}uiAX)W`T2|U z@*1k{iTBRnn6$s?bd}a-S$XN;usMI7SnVY}t^BrYcjsJLHEBbo!`$4T8FK#_WNi2H zt>K^eq#(m_;?r5lL0acOp5FI1XLWzv+^zl-W!+wWDb6|@<|tPjI%WTA#?M{B(e7GL zOH^i*|IRX>J#Q}a)pPL~Y7ODspO?AajojKB$hp4FU(x(Qna;{kJ(;+)6r~5uN*|Y= zjDIe!7(YX@q_(8&%*5%3<xL*`y~~#Rx+pp628+nONjZPc@>#Aj48Lk}QejoTS4YgG zhhLwiA7ZPjn^rj^>5=b~e`ar0)pp+DJ%4mV%I<v*_uN&DjV504t=hHRt({xfT{T-V zMx)Pe+03e%<d-GsdpGP`{c2D6oWhqp-VQUImfyaST-xm;*&P?@==%NhPKLcVKg#$> zxBBQz`@yL-P2$J(SMu)1U&*chad3Lp7AJ0#=y^Z<@BVZP3!dBh;<3<=bA8|L{c=50 zXb+uOT+jdI{fSNd4BL%1q~2{Ww3~nPNa}h=%f!pziA9z|_vKs4=El#EE14FfZCiX& zZs)$KFU&o@N3Wf-?$%4b_u((It}4|gTs5@Q-Nex#w|>|4_m(?v=WgoyWbrJ3zx}j> zW6*S0ALG!&ta}+xi!jTx+TNXfR>tLt?}D=QQ!2?WJhL|HD*a|b%quSC;rqNuDX#mQ zc+gMlJ=teupH^9Pp1gO-lsWOX?@!RY;s(ULVz#O6hlPif4lk?QbZ)PM?RJ|#;0;M} zy|31XY6-o%8^pJw=w`%gq4V!9ca=`-EiRgzth73oJwoltqDuugx>d#FPm5ig^Fe2e zxb>Y)&RoVRDf~xjogQB~zqrHeY08v^@3bPlro9pmUy}AXQ)5R~dezp+?04T9u*tcu zvzkyjudF`Zy)W;;>+HHIziwW0*Ed!>yYX_mz4p>IhRaef-*1~z{%mQG`Rm`8onNL* z6&Kz8c+WI<m+ZT<Z*=@VH{&p<vl!fcea7*?ZQ5S;&*wb;e8Y0R#F~E>4rLg=k)Cr| zTIP=J;e-DfCYuZSX|J->n45D#vs$ljO4zE%JJWZ11kd_*(Old6vDlWXN0rsj6F4>N z&VBK2^0C+4?DOo?l$YzBx!L2D)@rA$vv{?ub7@<IN#)EKYju?~oKA)j8H)REt$2NW z%i<?4mrJj`dA$D)`?m0~m#4QJPLwS3chhFOJtLxM^Fr^Wn_B<Y=pMMCCggD?+~$y8 z&bbc)jY$_j792RzEs^R~C@FKvqtMH}*uqd^RjgT;a;V9vtdiDXsVf^5R{QcZWbC~+ zrF{qgBHM?JReCiiOdtIDZL`;}Nta)KchHRDE#RGRCX*t%R;(8lcPQ~Wu~g`M`j#oY z1%I=gpR9I1eXcop?#+E>c7J#OjCQkqyKKT$<y*T>Cv4OCs(SLlvE!1QrEC2yifd#P zWYV0y+kMNNJw087Pb-Uy1cb<c)sz%F7Igj#-wdORYdR%LzPX!fuYabTa#f@&#bthL zo0IH|Zs}tmT6V-**Blp4@|6|16H{&Hnh)tKt}zaGi#RsX^{3ahmDbGp+VhGYvqS`+ zG2A>wvrF=-Mekl&`<E=6i{r}GL$V&M<*jY7lUz03=6CdehBCLS;)jp-A87RL_^6&2 zcsHzs%aiHsSJS!`_d0Gq%6j$ZmR;on-=Bt>)<suaC!9^u-ORi$>h;7qb`dVqcDCK` z5SyT;eEZzTJ3<f3SASc#F6X}5jaBQpFP-}wuj$_t^>TgAkJ7-|OEs5lJQ#Xf=JVNa zvaWeiYrl6I#cgF-5L>Ua&d~FBvv~jeTYvL*sBF=#`pl`O?-6b7_c!*qP0O2*-tc1+ z;#U`cFk!p%`q+_^9{mkn^Nc2VDJ5KgzVFZV`CVxfuk0$zILiBdv0vFo%as$41hV^Y z{n*_;H<I1^HP^rE3%@UMvVHJ%{@SWrl{Y`#HSc|$16qi@OX%C$Utb?ZWLpHEnRnjp zd1cTY?Prst@7xpL5~l9)wNZXSy}{S{8I`<I@18c_%>CCB67_fM#+p@JYrj_ib1bm- zTI)HX$kk)7_Se4$uU-g$leBczF3AP`S9%ZY&$JZ@;?((jZI@}qh17Dsee=rpe5u;o zGeeE#>wcAIe+A}urn-OprC4Jhzb3``w_fq8H{C~9&0KNxh`rdy^9mn*CH`(asr$S# z!su`GbpF15{~5NMW$pSWTOt&;=#o>wy}!>&JWG~`n*4ryYr*>1>33rv=HK|mzWC~k zEvlNbS5NF|d?;<Vtvb7+u6X00^XBuH|IOr>e1FEWAlE8otF%?~*hF@Asy?#}>M_hX z?zw*BYxiL31^b#>SBp<M#n3x#Q~xHmV_y$`T))a=!u*N@?_XZq`^&E6=gswV^!_aG zdGlN=C#&^qsmM0gOxv^9XUhs~Ha$5n?!?7Ki&iZX^V#R>@J%%6@~Qs}+x>$l-JA8w zzw(Qn=#>?_wweY@lyK?CnW(y`DSeXMZF2Y$!)KPc7k+M$zPnk)#yjB3A5jIC!-qvb z?N7^7iVOPs^V7+Nyz&|oG7S4vZ7)n>XcFzRnzwWL^^%$QzA8A_e(&d*`6Mnqr|XJ@ zSxL!;Zx1y+G!DCbW(_#LW!0SR?<}|RChA=NYqu_sA?o4UJ8zcX+~nJOp--sz*|ZnO z4Ys@sO_aRC9N0U3-Z|ft^>3#7)*TW){rjxn+wQXLy8XuW5(|!q3tc&RU+igj%%_XI zESqQh>HN$pKX~NXc^^JLhupbqQ#DG30*+k@`zq_SEBV9nIdZ1|84eu!aiDwC#H~-N zB0uhWzw?RMvplbVZ<L~+IwkD0`Rg&+tmq@t*4Xev$+7d6eqAj1Btz>Sx66&QbLYKK zSKk_6Uvc?dh1`a--ygng^WUszST*z5RlBYEvMcZGIBl@@HOD#*M>V5R?z0_Jog8N* zi1;62aahi>>3C|^x_dXZl4aHPH`)evS<L%W=I3v28F^>w6tnoE<v(}dPx$&qui?)g zIqfsctu=R6Nm=V1^tRk8Dz$dY>gSoKE`})TY^h{?xk%*Y$B=s`roZ;C=3;-dM<H?J z=juDvy2el3rp4^}bv=0N^o(`ir>&N*c>OnS{fzADmUi|qp_<+km-^Od2`xA<ap%wO z<{S6YcHfYjp>ZVr#mSjJWVN$vx1IeK^mc2lQ_z>V<?9Nwtg1M|OE{j3Y0Ynq>v^B~ zK&SnVi=N*1zNAObpFVlPS8MbmSLSN;iUWNs?pB^ISk89J^6@LsmYw-!3zHm*e5Y_b zW<5@b_+BzSY}fw%HAgSp%}TrR>YM(>8O_eBz1w%aF?}tvYK^w;)-)x@{u6gEc3X1@ zE<05GgVn0HPt$PH3$G`<^CCO+B;BtsQq9Onk$k#zzt4V!rNJj{4{VA(5h}EDF6*Yp z&z-xTU(;`HQa$*{ed$@5z14;Wf97g@@=||yXlJLd<@4o7cTK(AnJSQV)!z5S5yy|c zD|WA1xOvIfiMyWZG*@kzXM4dm=t7-kRILA!<FA&jHs7}I#)il#v;2*6H{CnmBsg*6 z_2XLv4xYVrw8<&lUF~Sck@m$6K8wWod3aB>9Cr%XRsHXL^qE)TqPAIeJ1<?DRvf%S zL()m}m6qDJ^K*WvzIm{>@kNSb9^2xNy2ovfF5dNFcd|v=>gmdMshKa;Iu&_WKG<!b zdG5)i$Ny}3lGyf55e|Mo)pIfb#*lW6Z`-Vw?9ZFKdG~gU>h`56+>G6EXGAykiJpGC z?4kIVnWYwa`R}xvC#`0FrD)v$Q1ijH%@u3^$t{%AQQDZ`8F8iS7r*!7zQ)=8CU-v` z7I*bmD~nQo9xZ9K?EEKb%fo`gubCGdI#qWpJK@q<w&Om(etp>P@YHw4pSo)&Hgz&G zFJ;^LEw^;Jq4>9urF+?fPP&D+3Oj9nQ)hPf`nk=uTgsk_Zu+$1*oyNkOIDp-#g%tn zeqwXYs!NeZ3&R=r==6l?n%5M>FrPdT(|F*{<g)_8B8g{xqE5`Ze&T%RRco`XO6ibu z=d>otPpgj>4$^q5$iDmjJ%ym-lI`xzZwxd8x0`ItQC~ORE??ood0WdYhkJQf@BF&{ zp(y+8Hip*OPK*7yzTN8ivU0w){Pok0;lFiF#Q(;t-hY4fKSRp?FMW}JC)U5Z|9Jm% z`R}{`RR3ql_*2b)CjCFdF7^KmlmEp(x&5#FU;C%~yZ$pQ{j>eo{p+p&&QzNJGuZr} z;m!W`pAq}d{%5%S_w=vhzs$eZf6>2GoVL$hhfnskxPrO&@=#O9UDZm@WAE>}FFyOs z5}}K3tCzfAwD01THD3?k5zys0yo+V!<2;o$vmAH-*|GNI?B+Vo^yjhDE4O@p`+e)1 zGa7LZOlsTqiq-sm^Lg)y+W!m^O9RRmzkL7djEK*p2LDTEpUmXstCTb7`Ed40^G21k zzI&Q7-W>bo`h9(y^}-{syLOfLL|=NLHZ`#7iS@iI&RbsUrDbmG3z?ti_BU_qgsuM> zl5U<6Pcpk39B*xL-9)r8>9lCn&Wz%(UrXEh_?|arCpnx>eASioV)sOO?}H_x-ZGuj zwz@M#@wDx^cWlazbJaR>F(r&ErmcE5dw+r5uC})693ip#2^%~lUq!B;9kzW!uy)|a znNOHkrv|MJPkknDaFIFK!w%9#EOuPZvRZZ9RMq&xNn81vHwE{(7t8TR)$WMq4|!8} zDtz<GIZ_vPmPzjY*d_5jE~=cTL1^LUiel^Xonl@WkL_m$PbfMr^#M&N>O@((sLuB` zP71G6ec^gDZR+Z`TuFV`zSuqW&gqR5eUyG^s{G~%?d$D-3N&xUPk6rkMA<!sUk2MO z7lXQp8ope|KwZRJD%Ym9e&${6&g^yn_KjO7swF<9FMC~DE*xg*TzP2@LvwMOHE0x0 zYh}gON!wJ4I#nm<oLuj@;?=*K*H5eHDO;Rc?6;Wr)3eHVmKx9Qe^UH$vtgy?!)KPF z;eCC&ptb!AmFDRzo~asr_2{;&sh*MNZ2Y$USugi%Lxn8g8ve#70xu3ve!8o6S=Ht} zMgJLg2Wvj%zPxKn^3gy`Da)y8s}=ffSDuPjZJqOI%JINcJ5z<f_Scs!udIA|K{xv8 zzoz0}JLBgXiM_hGA*;i-+NzR!Kl8?=+UbQ!AB{A{1tK|m^}PNwm~G^$+HqR-_3Uk~ zTyCHlMZJq@;I*d<96>XRXD&R3uRZ;C#p$Uy&%7M_0`QFD&h~Eo$rX>cOzC=7U~MmU zaN48$`AU;!&h*Gywl_B{aN(iTft~>+;X+E2A1#V6e>r*S#lCNcc5PgBF|P3Vl0aXk zM85fXiM`i&1=4gY(iqk6UoK*<HcqlQxt(o7r0xgdP#c4z>#x}LKfhvU{;)1~<)s+0 zOl#W@^LKx0k33f<zPP{j<6POdd%tvdJhGc!KjnFa{I-X6^D4!xYbv%I6{OznE{vOh zbIa4!j+Tz^C#ucc8o=?We|OGWtN#p!=c-oh2rK{i*S$WnZfb_T$M)#8CChHT6nl3d z=;|q-Uk8_^ltd?QVDODETR+dJXxr?RuWxcsOo%%_y<yT(oxX~c)ot1-%+r)R+9ZD+ zSDzKpbz<7*^>&WRQVJ<oJ2S;^7#l_%wRN>El9*|$kx){lr21lgVk!G%>ti+t_k}O+ znzQz8m}YK!u6e3y1^2tENo{t^!o<_oc`w@>+|DI^@G;-aecn}H8rklAeh*rHrdVaX zYH!F2uGOX<R!dK(DzD+%zuWiaH80(>r+nu0ttoL$ke<|a@^GR?%UpXu-9?s<B0F^I zcc!#SeqNlzcVyAV%2(+ZkEj+Kc?o=<s<YI)lza6h<IF8nVoW#R*(wa~CDu7_kSh2& zEe+mF?D=)`>T!i<zO$2`ovRDq9ibd@YWaRvj`yd7Qt}1gyYerc91;`$zU@=QUxD>z z*+~*|TlPr`ZYtB78@1<?P3z{!i$7(a%FlN^S9vs(*<14L$2XuUMVUE8hehlsn@@7n zUL&b7M{-ipw_IM0wIQ2#>K9E|ZuxdmUdVJ8-Hbm+K7BuPP$=r3-52g#Zgrt)Gku?O zT#WruVf9lqGg`Osc<dHmouKD0{u%Aq=I1#}h{b8c1!pVM!0Y{4?h>8PviIIR-oJxA zM{n=tsW00O8ogQ9eT{d!M#0tP$%67Xt^TdnJ@G@&DC0`FYO_+-xpxAM6&D}vO9)cw zv1-}L)0e4wqgDAogN(%4P~G{Sf~#hwnp!!n?9Gyx5W1|3LCVDX(uD7vU)=X7=(`@D z#kMb_lG$dXZj<+)y1!8h=P&sRzU0ffbUG_*(V39D^Fq8%qza$UcYnyX!_rjoQ|O|n z&mC8udlUCtw(g$Hn#J*EmpxWZd>fm(A?jM~q^b|u**z`0t}UOvWA7sA%FBYwIMkdK zmn>Pt`Fvt`kA|1xuPHL!s+#G)*nK2DuDL8L`Ri_~z51zg%GEhtDJk<*+ni+Iv)nw^ z$yl(f{AZiqo+v5BT|2(jblsP_crhq}H)GkVIs4ouy8hI>w$kch`t7-_pExAXTO7L= zv`iyC?2+D=lHW^=?w+l<(;EOfi02>EkFr%Um(S+?y*V@FKEIva_C{Z}_Zs<u55uN# z`7)jPs=Bv?k#X~pr`LXNv3EU`f1=at&a^c;ZCML*=g1aa59ty9-Ikd>BlkyR7E_Y# z;(ON3_saLiFXMW4_EYbyl^@pXyf^){wBqdgS>MjLhf3ZGn#C<48nf}d&E17p!k+5g zo6qs&b@0`uRWCn(oD_IRVoP=1_1C2b)fZ-8pAl$S<#h8_`mIlvPt=o^?A&j{^f%h# zK?Lur@U@xiCd&0S?K4{E<&<>&`MxLq^RDakE&aUN%|ahKrP#03S!;Lw*gE;pFC4oK z*1xS1uW~>5o_+1#j2l<ZpP%${PkwZ|xX^p>l;YKmLWd&{txNe<Wo~_{@xaDQ+0`@O zz2G|XQf@=?a~I3jHNPECR9!F6kvsMNP12(4Z&&rC288CXzJE!(@>*!-nU;x9TwliP zzw%qxw7*hBH;L^mOWm@px<3a`DopTv{_bet+GEYyJIYKxe|^6A>Y0?o2I^~ns)MH# zHPes2X#M@4q0C6}?{v$nWzLVL`dvwUB;Wnx+4ruDqX+vu*IA#sIQ`X~9W|xb|L)v8 z`IbfK1&^rTOQxKA_xD<f=a%`QCEwrPUa;PGCajaV^}`fZZJDb#wlv<AcH35!Q(jxL zapP(8^%K9oshIr!<$;z{AIx%iLv468iv|797%N&RUFe$}=)P9gC->D0ov4iqmIbi% zY@Jd&(ad}ue{XG&%Z}K`%=?#D?Gpd__<7m3g59&`nQol7a^ouTt2bZfa9ygNz244B zF)e#iXSH<eSJ99On@Vfd`x8QSZ8rQaHFeZ|weHFG`OXhzJ$f`lLIv9$l1*=0m3Sph zRGedUrbt1@(DAPP9LJrvjhsJh_3=L#$l_yH8sofpZb$n!zx{TZ`EC7EJWM2xO`7+D zlfjYesH~^u^3Pvp-}|cMVEeHD#jf*8pS_pFt#I7DaB=%q@l=Jyyc%;$o#ifNRlT@V zts`|Pa`~^?m^%?s57++D^#5w+xnY;+A-~#7bH$(W%{`T)w5uV>aI@&mlY6HAowu^l zfa$$L<;uH;IVa<<KJ$M(Nnvq9T;;AG_f}@hBsnR}b4_%euj>EnKLcOMSBD2r*lymq zypnH`m&7fvNA3ahEB<IcXMb8>pAi!w=oVFOGdbK&?CxpvoHKW(KHb#0ekRxXeL8<V zCYoh!WZHT+JmBEE^TCpf8J}co%W=8hI6H4%hQ9jN^m>cS=OUneMBmMNhFvqyUA5Yh z=eYLHj>8&jpKxu;bW}5P<vH82w8?P}sE_F4u$-mncxdOQbKpMWdQcycRrbg0IrH+W zHt*EV$l3SQ|8w~s#@A=|8T_oUiJj>e7hJ4=@kSY!gmqx>s@Hz|%I549b=s-A_=LY- zMey>Y!PQCeyQX~;;m@jYI41q=`;M}>%oDvjJ9mCvxBRu<#W;T5Ftd->f9;Joxb~gv z9p4()Wa)|O@)04bO^hnV$Hm1L{%44K-|*+b;z`S#m!<D(>)pEVcFJ$fvPb)thwK$! z`Fc)N-@GQ#yG)u#yOyu;-}3ub1()J?ao4+l{ret0cAP$Wi9o1+Tj0;oT|E-7dauh& z=PJlvJkM@v#FgOLr&o!sVAt$f5ThM`n&I>ICAYR;ef#H`U3+%4-LdeGbv=h~NxZ4u zb3O3A#@5ipo4!jntYhZsypyqdL84fVvVDN&jd(-P3GGH6F{wrYj+0N-?G;pa`cozs z75(M+PgbpYp6{YgmM;uBwd_mS?f$uZ+Vdm+@o{`_KJuY`R%F%pq(?u4f}fO}y<6I+ z8j?P5KI4~FbG+r}uk^WVe!gS!W68ksNasZ1Yi_sCrbJ&~^6_0`R$p`Bxr?uA)$BvQ zrtaPN>uA%NC6_uUm(Kd}kX2n-d3}Gzg4x|$JK0*+wE1RFe8{if*yy6ACL#Tj^H@uB z&G&EXw$Hq>POIw4-{OT!Rh}&m2$1DizGB6#+g6_i_0w73@H-oE7nnx3=2;tE>wA6V zZO_A5>*9KTPG7lXmU4^P^YfryqNM8aCmhM@Ph;PJdWo8g1vi$oYkXU0x#WJ{+>N`Z zTg>iUx`dOdEAEWws&k^3pDueSai+7>tStYWHuFa@<}1t@@`nt4*M@y;`1zINW1<+> zp=h=#kr#?$WlDJVR4#kpC$URw!R(tE{d05DPR+JIk@K9x#eWT7=j~~KYqlL;I)iu8 zl<e0>&N5F8ODXDIyG~Y!<uRz2SX;W-RQy}0BB+<>6y7R)aPyivv)JvRUgEU3;9lZN zzavYv-mc=yJ1;x2v1Y}&M4^S^jC)MI!?ew73L?arHi;_~m|xlCAaYcqxS-w0Z0pDQ z$6m$GwzcV9ndt}WCFVcxTq;u5(0upMdjXB)8OawPeBn`Z$@NyL_Ikaf3EWHc%yfv! zzj7PWOWeiKIJ+ird26+vTa`$CV&8A!z+$C)vLUm+EL!%vXboR%_~pB@i`Oi(Qrj36 z_0gnso6@Ca8kzpecN5lr6jIeV+~1cvsp^O1!{eJ~>~4Ctvg>B&#Hq~RWwl!OTrRVE z{Zhd1Mg?d4R7IQ4&)a_pH9qNHutM#_-!t#m@44n6d8JM)cGpb%nyPrM#nuhm;?;I; zI{WDKrpedaof7|*SC)rf(6><jr?ohOJ$>HRO{%+W8N9a}&hz`vu)sFK-#~Fwnbafg zpdGKh^rn91WtQw%6jSvtZ?2`;RB=bPBEch5gg&2Nruu%q*GGPt{|x<qGWcGs?zu5H zL@n(}&C)f?1J-^0GbQ@uj-y+WM0=AASQgC_;NUubvB~z)cm3m;l7G^EE3S{q*Lw5% z<ErK7*Uy=;RZ{a_@nz$(nchWFceiJ3JM^=6?cODU23N2AXQ+Murh5O(y7;YU=4?xy zR{ebbL7u#;ZM_k>t^eu|{;ZgF_S@vD!~Yo$f({0*ubhAW^oRX({ATTc_sVGg+`lqk zA{U+f&+ziHncV#PQ<MDbZ~p#O7MtE%zHk2A=93HV{%7b==gLvZsDCCe<#Y1mg8vMz zrz?Kdv+cKcJ)K$aAoTXi^fht$Yg5AYAAV}TEf<_?{$`Qi*2lbz5*=DPeT_v;W;>^g z%ZdfDp9vEA^Eb!;zTN6q_XGZ^e>l?aS`+7d=gYY>{T)S7vqWO+ufE#tA9l1QY2zBN zPb=mg;$t+}E2U!N#QX7<>pf4Fz?-Y>r+#Xy)Y+1L#b(A<ri~35v!=b-HZ5gqMCMu0 zk-(u$Et_xgDZY5tpS9%nQnUMavYB3~*4tiuWp}cA@0u@)Z;jQX)ATiy+Bi<_)u@VJ z$~3WSXT<}9wJ)B@vCTUbq<gq^p4Nl7$ekL!oh#?Ujs(6@!P&C3dUuva{(2$kk-)#S zpReB|;d45u>DX#fEys#4^MdU<1zSI5&(^&s>#>ZddclOs@A~>jl^ths_wPF%k;8Z1 zW!2I(tNYCEem{4n_ViTQmzzHA*tgQ}^lshQP&1*k@)H|tG|nkp3_5Ok;QpK_b@Q46 zhX<@5_B4ICA9}EOk|-0ihtQ5$S0eVUy=raNx$jXFctobF|5@%-6VQpk7oW#ym>cl7 z9{j$BZ~NQxx)tZdz2}-wNPkgmv@^hb_Sdq1XJmCFP1ZIf*zPltz1X^4-Ih1}K%VC7 zn!BZYEZw&j?!EQ9>s7AOPM15rItn|#tm>R_vwO#N{j$!FHS8UC8j}v)Sz)(oh25Iu zop$|QxmgX~?F-V}J7%moRupAy7oR-o#+x~-Uh$gO6dXO2^JpLRK;Tt&MhPD}I;@U< zm?_n9<8<oHDwUI3ZpU0#o#(om=PtW->(%p#do~w;J+th3^q2YUT2aw&d`_=WU2swF zxy$!7>kGU=_xp}ry|Z@7g;&c~Z`)~jJ$Ob*TBvc(X1Q}s{S8KHZmyjN&t5y!<P;Lk zuEKt@eDUl{A}KtFg$rdho94yZ$Vd0eyn-A86?AD@K~lQ(b(=4fvdmW5w^*sZ`3^b+ zO2K;On#21Oqk0^(55371S`>G$=Vj>fB`;s^_?U5FzhOx_&(!Qs-*ui#?J~b;eo{N; zKf~1Z-;R}nPJ{pbcYFP1_1{*@|E~Ve@LK*+{JZ+Q{~4bBXLwLA`18Ewe};nkcl-PP z-g<v`|Be3))BZEu`uqBC{_Fa0*1s40XE<j6`}y<z^(X)S{`>j&_J7B}#((j@e!*>j zw!2)lZOV1)j@z4}S%o+5yt!)Di-+5$OcMx^I<PtE*I|ZiPR*rtUmiZxJ9zBcIr+(v z{~6Sux$8_y{@ro*iD)O+)<rY6{AtRab5H5j;pA0QS62ru*|h3@OmmjB`iXNj%N{9B z-NV=PYu|+FEHj^|Hy0n<qwarX`@d^$$$z4^yjXbgbgZemxt`8ir{kMq^Vix}8ZCLm z>=!p*WAXC`d+oJUKMBXK+h_gvKy+eR-kkM5WrEXFx5TZ_-PzKvYb~+k-^uW=fqH5O z4JW%jx~U}@9M;~@!v4};oQK<GVSC7O!AWOTLXt%K{uCr_4B1qx;<hSt%9Wp9%S=}$ zg{}4#VY+2vJ!gsSp<2QBoT&%n7k@T=eL&9PzHTu1T+IDpGm5`V^{H~6X|n0YtQDI@ zLFZzgNPYNxbMsZ^IrdQtUuRwT^nJmW`(^sI{rmI&g<U)!oxLP9;M=lIH*$~IdG4(+ z-FnI;H9gobX5Mku9Y1GW`uHJs!lj_IJVqzBwu;Cc|Lf&uyGiD95%VIREm@1gWbFgb zdcFGTaof~Y>87B1XX1o*57(ZbJDg(dHoZ4Ge7*0l;O&^%a<2Kk85v6r`nCjzyTvO9 z_%EC?H!E<R*{7Y)^(Q#?%u4K>v(Rng-0+Uw7cak?;Pu_~evzru2EL2eUvOXCwY=Eh zbpQ9H)WDiOReu;vZuEU>dvo_{y2~B`o%b!<*DX*otC+LvzFGgvJ-$B$HLHt*TPK_i zS-ZIzG&$H*v!U0wn0LQ`uH!ZJ=5x@=!S(B6?yKEc)z5YD{O5SB@SYn#^HU%zNd+Pv zt$Ny*`TVW^vh8cbs(<86Uh5vlwf@QEW0vLxi!Q$XrM&h!4`?N6qRP=1ztc1CuU_%a zU~Tur6~C@<zs;*-W4b%F;>Ju)!B-k9A8S2PQRA(ve!t|O)~v8gKhJw<Ag?5?&+mz` zd3C}nb_RGQsnUb*&DZ{I&3@@PU-iVtwY776qW4rg#a-PWx5t||t*c)6=8L=UwW3{< zmmHgx&wWc<cuCcP?hE!aW}V$))4JBY=-``m{~6q}bn9;IIKGuN<j2<k3<}%trcRr3 z#8PR=y{VsmCcJo|{mn2bB&KG9`>V9&^Uuti@RDg--Rn@RJq1Rmo8!H$<Em`WC#y-e zs@yXwuIunWvT5><zXJQ~*I$G5`^udkZ8>!%@zLg^f6D8Rnj}3qs<K`7?}pT0*Y)IO zYyUIk<vgvqqxC{XH}<kqz`MWK%3E#)u9{W-?Oj0mvNL(>J~D2+!tb8_F(WF>cJ;(e z?p<cR8DFlw`}I6Ic~XBw^Xp56>i2DYrgZ&uOX&@@;ZbQ8^p*))XpwZGYf_}=YFVGW zreEA*YvO`+n9QP1*`1gzeVzT-zLiQ&wV;k))GhI!cZJR4t^1zM?|t)pRZf=c*RrZ; zrY-ZHy*}GBBXZ7@^ZF?n`_^6d>`n_$s`$6ys;<rY-=(IOwlCMKT%Yf}(AKj@H#pR= z++lI(WvddWq{#|%jLy_5@ECgDl;@G%d)vtQ$W~wfgA-YN3=QL%7tU>){w;35T_mXI z=UK&*-05G!(xA|q)VE~L<=4A>-&ajgcwXoD@XtQyXWKmX2DGQUy9?(DO=;>;QA${) z@oj4Kw7=W89bBV2D}VXbvj?Q(M0d}fa4KhdqKSIToZm~W4A02gOudovmEp+Z)Rmhj zXDWX-4Q1?ad-Lyei1nkJukNpBm2cNDY&o#isO;n3pzAhATwHaY9qzV^n)~&~oR_Z} z51!!Nys<q<)@6#}mZ?kn7TSIMG08^G^zYw=H3_jjJHP$u54Tgh``tYE%-yMfZ@O&v znVNoItZqr>bjygwsP(H?rfaR=tLH1huI!$@FrjnfY)hL9e*UkH{VQBP=Ywy;?Dw0m z)cJ2_KbDnl9eZd?p6tpyH&$CLn4q;|G0TjTBKl@Z*Erb<4+h!`2r~71>y%zwt^0e@ zD#J@vzlE<#EC{^cxAWwi;;C~_Mmnc{*Q%es_W}F4+E<64J?J`f%h)J(dR^P$4eAMR zUELP1wfcFhXv<WgrPKNqZB3l!+G)+cDfRct_6-ZFgAd!b9l!g&@Xem<6RjePi(kje zm`=~g`(8F%yi!4GfBc59?~HnSJ*tnTCoYwX2vJRJ26y~6{%43f-&mEfc)~Jgwe<as z7q@M{oijg`?{@eVRejf2RnNs1FJI6q)+qAm$mJ{Q7a$!!LGInZ=F1*C+H9=tV*Gmg z;f!aC=DYEfoOpfCdq<D7#`FHQVWuX}KD}yP#c(QFQ=IGiu>&%HFU3Z_X8ZeD-g)cN z`N^wq>~~9i%QMaFUiK>SB|)n;yqWg&h6iht%e$V?D-M2E!qYsays@)WI_5l+d!1RO zhQf_>dFDrcZEcpDb#;HGLOOn|lioY6nCkOFce=b4)52fJKYVc6VdL?wvMz1wjU918 zODa``%M+bDLoJ`LJW#5=T<G}0)jofdC$>!%Gh6g$Rol6*uZ>IJFv-5Y)bZV+)Z6jL z(~Pf9Q=C^-t-EvMchW(%ph%aqyUx_uak!<s%gY^iKkl9_#>u59Gh19)NX|dsWsxYa zjqlfz$4&wJs{dV&u>8^z@^$5}r`}$XXMGneNEN<(CB!#(Ze_>x&9}a>Z#i@5j%;}1 z-M%whSMS;YnH^NO3(b6~)S1Y;a>0HR&9hG?C;zkMN%^z-F3XialT}5M%=G%7%3VEf zGW+e-ZRTY!gbTiGnef2S`)b?P&||x*x6DzNTd%*|_vF`;1+}3CwJv6bdz4vjP01JC z|NM&b(W6n?G22)*Hm|OV7AfJmQ>g~-_*EKjwzDgpI9W62KZD}tIfjCE8*JMmOR}GC zleIZeQnENXN-RUBYqN6yty{v&92_zo*VWFC%{c4&cdAGF#w}(6GavhWSo2!Cx4iW0 zn)|t`yIpgRtTJ9@yiwC?b5_$F<Ks^f;=Q(rxU4a4V9@Cf(=@NKE%4V?G-4O7^)_Mf z2)tlwP^_FCFZsuB>CMfTPu!YTRv0qj&*pj?UysFGTIAlzS4{MlIn3A3ej}mCf2+yH zH>=lA<J{BiZ1d&mO6J1-;rXxQ51w3ac7us6_oLf9(X%@xUj*9~R|e{e2kAbzYPsGk zD}TFI{pl4f{~6p@+}51bwMKl}9-q6p9cxy0NkyL$kFJ`R(y4KDPH>UNbk-00!gD0M zV~-XWAB}1L^4sI@aj%V_mV0SQhgyye%i&WK=DGd6{fE=xlk0^L;flD&@7M2bNRaG* zrn5W5RQ>U#%23NYqMLr2_Cl_N*&}|+Zt9)bt94bMr^{DqP7sri%L+Qw_Tmep+?``P zt>3j=V=HEoR!>}~v{m!hrRKR+#~s`fUy94@k6zxVyVP}}>x`C-8YO=|zsyX1e(8_% zas9LT$0ok(`f;}Ns#98?JNQZ%{rRuDE6sUxC5|RXurO*YZ((9s_$8yWFj@TZ6_$Ud zwG*RPn@=q({c+X!`PK7lqIxE*w|p^kx6aa?dU=nx%+4%4Q@lmWmD?A5CCr!l{dNE1 zx1OolmOSm}`w#z)nZG)1w|d)Qn}6S*bv=x7&}skhFMjDm^`81Y=bt}+^q=9zOYMK} z7HjqVXL#{^(OEJ7{|tUJ4Zi&T7c!~(pXKjg)i2IVzyDBIZGW=(yZs~1L$f)h<bUlm zSvmQ!^FRIUgNOg=*3~ms-HN>+VqL8ETK!k`HC9k~)NOofcDwAf!ppdg0frS-i##;c zEtIoo3Kj-tsMNHo`q%zSimdz^ANH&NqumC*4E@K)t5^7(h28}7bKgq!Enjm2j%iCF z-vrZf?Y#T~`6m}#MR#qkjK5*8Hm&E?&ab;yh^}K?loh$@RP>Z94_BKO%AYx|#maf$ z>W=p0UAC(>=S{gCU$};S#RSf8{ej<{pT1647RZ>fE84I!Sj5E5b!9lqo})~H-4;I{ zXgpAyFhl0Si74K~t@FDc#P9rR@b}7<l!I5woK+umo&yaVKyHG$-s$jdo1gJym%j_o z$5-9R@%QU{bhWEh<xf?-=6v@hNAIfb+;sQhm9B#0yExhB=Y4t>rJvTd_&w{@+2S`} zOf|XMnt$x{uAevO@5}>V1S5V`^J01G%2me>&3wEmAb)BUtCUv6J9f#5S*~gCmxC{Y zaZJiz^<d{oE~|%XTroLWI{ckmt<7fcPKr4+BUHs+RQ}9eBhW<r_M3+ami8scb2q<d zu$sTs=33J3{^?e+fBrI_S(U>2rf%K+o6Sqt%Jptw;ko^o@h(SXk@1DAf7t$=4;3!G z_Wr5Z)nniD-|4K}()XOd&}74;=bv_|Ii{|89BX^aPjHTVXH3GQBe!<QOBUG1951Ss z7P&PwU-R&_uN)tRuDz7hZ8m=Lz*evC<f(ZJE|(wYiBVe+dTPGB)s2%y>-u|co)Z*g zkB~8b>-qJwWL?_CT~>h`Cl-A^wB_c+<8R-VsIPfpbHnt^^6SxG=CW%ANnY?dy(G2r zyxD!%@+9jEvO)Ljj$Pfeekt3lWoyiKZoD46qb4iVBxmz{-zMIMA~iE34&Sr4jx;%m zMvI%Uoh;vc&?E4oF^}(ulGAnz_X_;YGbzrD-CXGR>$$gA<iVA5@?$<<@>p?e#XrUu z(>LD%-2>ya_szD%yX*FvsqYrpFYmH)%6h+&Q<pE5e7#e#<$hh#%X5;NH-5ikcGv#) zBG~+-@m#0xX4|H(zWwz~?#G+%wFT=R{grCpyf56UeWQ2aM6XqcHbsXg$XtK%*y_`= zg^W5c{NiQ8CfR;fGm_<$WeWc4=ozg1`bB5thn&WzOF>8fUI(p;*_fiA^VM`O>!!!= zd1l{VQ_t?P^Wfv%x9a7mt}VNEz1!5z-R17_%sg+i%9kBhZNA%OzCZP~_dRjgp)_kk z^{Ry%D%u2hG4S6~xO=m6xl*~`j2CK0=dZc#TCsa~xRtrxEpE=H?K?ONOOwREO|x3l zD>Pwh6VJr+XJ*gj_{(j_{4!;dnOx6|`uXXu!EgH3ubG~^9C7sT`D%9?uR251ns?vz z=Pqy9sGljYq(1nGwZ+e$yLKL37_v{&-)L6n_BG4g<BDP+7r}@|2m7TfO_}nTXPHso ziW%$79e%K`n|0Lof}j6eyM}M!iv@fkhyUuYd3&il5w!R!*Ky?nOY4*BeMvW#GS4_E zF3kQg(4efb;jDkSu278VVWHlwx4*n9ZCv*B8}uTWlSg3}!Mw|r=eK+#x5x4m`{_%9 zm*-n6-kOk}yq}ThneOJNYD(+pF4uOQE?esV_~43;;N?fpGrdh;>-&pe&)dOa>xOrx z>!U;u#ns-GdH(X<BX1p{T@6u}9D}b}#Pt50wyI%6+l2$CvrV2oe{?VPng8RSMAtN_ zdAlp_b#yQ#Dd{bmnH&@O$*X^Z=Gl3xFV*geww5SaXnfu3s=+OfSHf@fryf1{IR1~8 zeoy<Fts1vJ*~W5D<<GviU7v5sXUR|Zje_Ub&XO#%n=AH+HEY-UIo3KgN>4Tk{=HJR zMZ#(8+{*ZGud<3}=_b47`?Wjmnkw#gW9yQ)euArB&ef7Nbn8DPx9~?_nVizQ_N5aZ zTyA*!C~2AMOKllBIkxGbdtkiS*4f*6mgvoYq!`yM@hC{RV$YF>5sO!<tgzz~w!XLH z=$!XrF^b_6elDH5-C*I(OBW9x*^wm{*wW%78l9${>YRSNI)|HSRp#$KF?S+dnkU}T zI<P!%-_^|fw|6=PMx9++WyN+P`#*#G>r3xfuX5gEw3B;N*wn0VH!d8y9h2IXvyb`p zB}4W1S7)5!e$aDr)})y&foxjqRJ|{^a9OLVid1d$+UjtwsdcsFv1yVwc1OBv3P<gj z{7rwAC%^li#Qs-Co8Nz4r4i@XFJo0_+PmOZS(<q0&6j!2#S^AJzT7iIa?X>B0XHVq z#;#gudSU-k%erY*m7A?WQ-dC>@0q;dNm_LM?wX#;e9-B?LeiDDg0p;_dzZC}C#XMK z*VnkeQp8k+<6vpsvaHIQ-BqBQV5)ac&MsWC<DqP=&)X{XZwqr~sIg4iwTe;lxV_M+ z$WK*!=i0}wVLtSCdi9mUyN{-N?K1n;fAmjr{n6qzFC$~F%RWsA|F$sop3CgtF*{Gb zvJyI{5w&~CciY(CryuMn%QL<sairei_>)#!wT0T(X9Qg8-naDXGObtUJ=#f6x(s&B zI-0WmnF8<5@ZQb|EB@(isxw;W<(BsH{k~u3`+KHb0iWp9^!ws+r(JK=PJGg6Uij5& zS?s+v%}c*|&JVw^`;y#r+r8m0m)WJ&7&*I7O38VYbpP?quSGGOrH>-AEn<J>Z?u!Q z^tz?}ENhBY?R$qXN5j&_^cVb(-naj?wf*<UzVSbU#r$u7{xdB8_x!8xe+Kp6`+wQX z*L?raP<H>xe}?I`_J{qyy8rY4^Pk~Q`0J1EhyOGD=Kjwx@&4!O>wg&iXLz>$ul|Sn zx&Pu{t-s#?@%Cf?AIhiaM!m3WeKmXQ$@G#_hC*#Ojcl8yp5$*k=+<@gWch{%a%S6> z|Czb+UYT;2@7W)d-}z~@&eWb2<+xy4JmUqM6Y3jZ%vgS6-j28hy=#KcZ&keF_B_!2 z){k>3zgrr)8D7u7_hGM??EANGI{&nvDEYi_yK9u3XI|KoE%Vk)zAV&i_ha+drPDa- z#XtKmjt{!J@A=-YNv5k;2(Rl;-ghkL&38vj+f~1RADdTv;A>m{etsXL+L?vjSI(KO z{JOg0t>4pQk*)a=t_4n<hLcvr<+!X8;yKK)s7^tN)k1ZeRd#6Ex0AsVFD+|3U-bkY z`TlrQQRU84=bnI0A)ji0_TF#y^@%0yPak|NOSQb|d-}q~n`K;)XIHGan!7aK+ApkY zA!q916a2mc%l*5SeRJ6#6@4SXKJ_6pZ~yFj4{ug3S29`m^!c@2^VjTlF1Ohlar=1u ztG6|Wqwla->^7MEB+G41Wup63HkRJgXJX{qKDyp(_;Rpa+1}mb{E3pa>$-ENzgc>_ z>sQOt7kfdMc$It+SocEEPbbu#X)piY<qeDE3rk{R`(=+DJAdZnMG39xhvh-@dmOKN zug}@eRgeRk-wV4EJoEc1F%@^!o&_=7;is97fA=iSUj6&)nOeSU%X)j)C*76oFxeQf zyL{c^dmFRX9ocldBQb`JQ+UV6^h76}7jE?o%M<q;6?2j~snGcOv?1GJyB`{zR^pFm z8(q4;EPg^z=976(*Gw-G^;wnfn7eb%3$C4C`yU7jJ@}}6?^#>i)*CbCg-ofGH7<{J z?hK85bLD|u>*dZ=$zNOjFW3C&uru5${&b3&psh>Z-UipbRlf2s_*Q1v%dC}Kamo3s zf9UPm@oOSvPPuE&Fu&Q~C*UMvWbxx$7w1l^8yh0LUOc<8(_-D13JDRXhs!&63e1St zh`0UEkiAysmlJq?Zz<CJ-mKepMGvNLZu-XVa-!LdZ}x_F$J3%N-pz>KI7c|d{QP{Q zttOLQCbV7o5IaNUd6DPFe@zj^pVmzgzWm8+$;GxCtDL7)hs#`w-yU@1?(R9hhc8_{ z+~}$w@i$|2Yst^d9j>3%5`E`R{@s^Qwd!F?M=tZ9Llvg0?rGPbU*V?BwLL=UhRLFR z&6jRGUXb?qENCG8VkpbK(=IhXmDNIS{tHgGa8jyGDB&wwaqV=9)y#$)FWmO+@ws3b zn&z%?>(*n<3F^<L)$N?}o7*kR#9ArnesV_6LhYu`N0HymrQW@M9r^E;by4@tnIXv` z%Ns9Ejl0rnp4NZj;J&G8nw0_B4IGg(=lJFQc(B8L@`Rnuo%fc`Vo=d|Au+>p;@0)O z^MzNH<$U>MwsP*AP!)Tf`{#wdK&{W+t@jjy@)E(zKsR}QOPggo<?E;PvrojIPn)x4 zL0<CLvVUv;$jmm*Yb`L&?@p=+-}c0z)wthWRA}EL*F9D%O<%fte|zHpvpnv6Nmbvb z882p?=*-@8^45*+Q!^eewOLr&uzjbJ$H#JgnJ$g5AB=_jQ+3N(&jyPY3oC0ezuOhc zUAf{<>Gewrb2oet=GStn6n+kxph2GC3vJ7_IWjqI+POGu{i%Vo4@T=xj<}ikF*Vxr zjdRW7^E)f+LO*ER7Jk3A;sEpO^FcEv-{osqdV9uwb=wPF2i7GxtMZs$iCR*4ZHmn6 zYg%0T0v<cQ{<&>kkOR8n@`-Y%^U^+hAMg8iQy<9({kittquenj?a0f8#^%aTbyKZc z#m|0q-7~u<+D$Ry8Y6?3=0k=ComwfSn5eHm{wnlK?mLllZT6{Otv}8NKfii@?Oivo z@+n_@?oJE3Gi`V7Eu9Vj(k!=cU(Osc$^ZMgf5(4+pZ;a<^l4`{-LK!zn|rmbHzKdC zp8e_1Dyy~MCReSfZ?5os%>Ul_=g)uQzm|K(e=q(7o!Be>&+s~Pw!i=Wr=IHjAJ5;v zy!Nq8&hD2#U)ao&z5k=hVA&zJ_J7NJ)lz<3_|LH5>z?|f>(5_ox)pzcWp}CCYw_9d z!>69%$eH`?#MJ2A+Zx?_%MLoaDZc7gS}^B9?>Sf3W3E#gKS{LOem{0)@8{$3VINQ5 z7yM&jm$AD0#KJ3}iB9K9S1wF?y>BC^hZk{7`)N}6T$gtO9Maqu7dap4O79On{!^`{ zFmkOqXkyP~OZqjNIa`?yfG74gO-nVk=sX*f`dNB1Q_I4vJI)*L%7O3tT)*QM>lLqG zpu0Y&{H%^VaYXW&-?k%RA%}THXGR4c<-ahI({)Zwfk1%386Vz)6kV~0htD4k*4KG# z@b}1-l#5r&tW_Rhz3cOr;yLj>5<Zd3-5;(x<~5<tT7Rnl(o0G2Cr8Xo`|#?pLGoRe z#pky#h&ko@=3-3kH><-*zuHf%$~v_Daq9h=obz|K2gU6+)auEa^5pcoD_4^heLlWa zuKlvuBH5K&_UM5(y<ysBH3bgeK5o=D*kk<&-o?u;0^jvH7kbyHJO5Gt&t|7U_v^m> z_IW+a#xu+h3u+&*2Y*YObSAv}>G|1pyr3=~@3X(L`!}<DNBL?m<dEEctl1+Wcg6X+ zt6%Z{owrKu_162RbXWJ~UB43@oT++7?NMf;>iMTrT-r{D{CfEAQbA9WiQ6OgV{BI& zf2?Nw*juiCaij0ruuuJ8_d40QY)vzsc5vpUYME(AQ=WzgWbS_4rY9VDv}hG*S-M_m z;K$jPhm{mwGq;?(GC$sMd)kZHDNCg##q}+;d}qqkUArD`o9dW$5H#+Tf4N3J(=*>O zSZ~49XPw)vG<O@mYs{MV=bPEOr?qPKp{B80PxkGab2!<ka&qpBZ#5z{P7^m7uG`1g z_f17eY}JjOi|oAj&SP@wX`GRer@YkiE9>QhUn?%2TcSI=tNglERM0sdpT||t=gnKR zC~NT#=0$Pmgv4qeb~L<uW-j!%^_8LQ_0}7=R9*J&l>D^X-}CbI!bcZte=hVZS6Q9> zi7#^T)RO#V^)=^8x#!%z6}SHVeZ%eNQ{zmJ?dvW{Q#$iA=9S!0T{qXP*+QrDB0Gxb zKkjAmigIOH{4nm<j<qVkC-E$?oM6S0IH^f!`SNcXot7VRbZ2(v-;qDQbIT|H0-Z?a z+orzht~on?AAVi^wf`aLc9(b4@}8%@zPoe#qjT;PFWW!75k2YbysA0uK_|C8p6{#` z`77T|%6WB6^UqY?IU)vUH!%HY$Y?H4eKx1_u2uSi-6Cb1-tyji_de#u)5a}k(!99^ zdXHWmQ48{TwMoQVE=0n}-Nq;{Mg7Y4YWC+`3N^Np27kV9PFf4T>~p*5x1(#$InCR7 zbj733_b#3na@c6{_1#y#vUyA`dzU!Pt6P3zTj7GUSI^mUE&Z^|a@v*idvgtUJ)ZP# zf0^a)C%mBDB73@mf;);LPI<aqE!;l;1$WHXuIdGQ=H2RLezV*yp=!Uy{pr(xY}>ru zD>vLa^w73E*|iHIoe%19h%M7}cqU|e<lv8x9>)a<p}|+X9Ts0ZEHrWJ?HjL3n<1UN zisk!dCwDPw=Jlth@=m{V%TBMj!QOyhLf+gX*{kNwv{%lv``)ma&)9Z;%8JNvYrn8= zz0^?U<ITPT%e}j2vEDjgs{6)Y&+Ef^)(x-BL7hCm+PgL{UVeLc>J4bM*(Jl^YZf8B zKWD9KFkrfL=wyzG#`C6ontk~%dJ<ipDec=`ac{y3rYOgC%PNyOHZPfKpWJzN-t0@Y zd!(%;N)^GKygT4d-psoXKCb`gvtzT|rYm*VC%(>zT4DF>>&_je>NC#IdO2y%?>84t zZTy<CT|hhZYw7DZ6F+oMI^lj>pmf1>q3b12>u;}Ic`9RVujJk;X|7j3$=p%br<lx_ zSa(Zk;Rlh7H;V7%8=n7c@@M{Y>7A}bPnw!mQr)DDhY~w7D{O53xGbJp`18~0g(d$P zI5|Muw-n90&-jTpSxxeCfB4XN@9Q4_xsOhNsR^G@xpeDhorgCsUOaqsN0xA%l%PRq z?u@>Pyl#(YCxq=<x%l13-~u)knZAc%va@&n4qv`M?<%M3YqO~tuggvZ$jYzx-uG^% z+(oYxe$HE_t8XV;bEg(giZJ?dfAT3o_4`+6oa+9R^HOSBWlPXAt@W+m6Wh3~(@dw# zy5_~%IG2?>%(z$Acw^b7z96=(h3X&IgFAVdpPMJM_0PHJ^~r?w@bbqIw{$@_yu`Zd z?%jDJXp`n~7oD?38mp(Sm>(D%FzH43r8&E{UOqeX7N7IAS<Z1EmpdeVmD`t_6Mwqy zYLZ)H{r0=6Wm8Ug++)5N#uTUV>Y4UC!(btY9*^kj#=)nbHbk;ChVz$g%1ta>XW<?n zY#rD6cSW?CWUFoXQ3qv<=Z_*i|IAyTzW;lIocNpF_b++8|LC<iRJz*r(LeJia+-7V zcb$5==l$Eo@wZy1R|@I>p7dOM#S2f1rCIML-}zepZvC9RH+PbE1Xg@&<UgrZ=j(KR zy+GrV@2%dec}$-abNC%SaW$#bvg>6283pMn>!X7e1Hp&(?&K5)AKH8G_q17ey<f!T zPPkuXa&O&k&rKFx3NLE?R!%Qp{i0;Ir}3*_;#JO<p0ls|Yjomtvz>?Lr<l2OVzO(> zxGMGgPi_=yj$HKqbZzH{pQjoRZ9E&abNQujTqjhG47cxJad+p%y7^z4BA4k(6>i;H z5!SZfVP^BKQ%TI5?5?$kiXT3{Mo&FvnX&7gspXM#g(k;1?9;LjVHDi(MMU)H);)(V zu|GL-?cr5FF~?UsyOvxox*pOi@GC(Na>0vX^xr-2WiQE1ue#S4sde^KZe`l%m^=R& zOh0X{IFqrAHLyKa@>bBsKR3)yhOThAyY$M5HZ%Q-$tt4uU80`HM8ERSH~C)rzP4b& zihnBu`)8*w{_1J!cjkJZ@;;BvWu_ZX*{Dv>al9RIorn2Z(&@G{<p<hAT?$TL6i`{P zS^kTr+m^sNTgn|Yn{}<uuVKnx@oj18A1Cf*0c(9aCVyDN(mz))xlZo`ck?mBkGy+l ztUv!wTKVQDZJTs^%e8y9E}XT>XlHWohpgRdOWyF#S=VKGwIrhWOxWr-D|<CJ-xl;N zeEg2-wp6g!qv*LCdUk6ry4pR}AmpHgMyvZbuf3~I<uH{_$#U2F=+HUacz09ez1<bl zIHz^GOqj4vd1+I}wEL>%PyBPUmTrEr@7P&WwdEe6hF(>7jvdKZz_{3|HeJ79zQ@kX zk)UIH=WVNapnXK@%}@Q0Ka7^{cD6J*zC?0!Xo%mmO0&r&tS)PIE#hVU?WrB){W`>6 z)ZlU1ebMTNd$yjpej}TDW5(xeGn`YuuG@J>Gh&|se@@txK1Xv8h2RM{KSlms+Hyd7 z=Z<X}Zj}}(^IPh*@>F^zgm0bKx;aAo$u6tFs9P(%Cp=a3%f4!BJMrWO(3xV)Z<i*i zZ2f(_Dehs)k2O*5_T3k!o#oMy?ddE|S{1Fl?)q7s(2TTye%^(Bku!F>9Wp*&ZM!w_ zi2O}=k)P|fiZ7V8`{uhDlh4JjdKzjM8of#>>g}wnN;RH8ALaXPzSx(0an9pu-H99w zccz5-DKj*$x%~6dE$w+sY`fThPw##ZRVt%*XP#5x%jXxb@7%J^OW?bx_RKXtZ>Im8 zx#O0uTyx~TwKb6IU96{A6;!14wX3`Ly?2<g#I027<~L7$W6jIGCNCBT-(4rTD(&p~ zc`4;jmu_AC;QLPgglF6SeCaOTb+a@p?%hk)nrUk<@tIXGG2sl`p~A3h&-3^_kFE#p zbbX^Ko#?P{z8<3pn`_Fa^X5FEN50*6=jHkECw}!$9hdCO43YB{CQSLhZq|`4-OmM> zk~#0Xsys2gT6GR`yGz|i)q7^^B|dZ6_*<vml)jY)y4|H&6MDOg&kFGEE*GDb=oPoP z9LlmNE9H%wJj<x=yVI}rTZPv3d87pTGA9b%FQ}gs#rGjiwkn-b{6E9FIaZyOUmAt- zI1N6zKVCIyhI)7W>c8>-88T}0?IlW;{5s<0ii+nm{;Jb0VtJleWx`SCIDhW;eG?1+ zmfwB;!FbNgf47_OUtTYJBfo!|*tW0L7vE{`|8wH4+Y5Cat0D{8k4B$l0>9^qIO;$A z{YOi$r{-OK?76-SvDNwdHorKx%yqcG_dmlr@#j9R`_7c8-7`+`n}0}u!<xt-kIOfW zosUHx5i?TGp4Q&D$WCsZ*2{`(R~w!6mc`}Y`Mpbh<&==wVi$yGv2&+C%cwb(AzT@u z=E)lT>y)i`cl-4Qb`QzdzdRo<?d-JgsgyDfnf0`A)!!ATynpYz*tat?=IE5yrlpa7 z?c049$E;T1h)<p4YxLXl#qt+2zyC9wt&IQv>_5Yj?VsD@-yHw9Y5%$Z3~Td0{AYMP z|5N_so3%6lGu&GEZ{wfm??3(f{O|RD2K%4(FZZ9QU-;|i_J>>R@6N9OH2s_LugU(u zw*O}k{Li5LkN=1K`}vpZ<8GDQuC=n&dBHd9vtH=pt8eDdc@Z4-RMw4I>Drh1iYr5y z1173}+!id&d3M8$^Q#p;E%TH3`LotqwCLpKBQ-_;>_03%vAE8EV&;CWDz#Ib@%OSc zzv}GB4)-nkxaghd(N=Aq53{?zcQokF{psHNtM;K(<-NcM^X%;>y>MRm)c4x-yN{=w zobgd%(fP(-uF5L9Neh2&u`j(oHI_~KZsD&3hx}{qe!utc`0k(6pZ<<Hc{(jJeP87t zfn#qYGOo7Wh=2Y^etPGc`<doz?EgsYQTf>ZedeD(`{ly%FYWwgSvt@3-mkhcezoTE ze+qLnH%wgkpJ7H#rm_05=D*^)k6-?g`tw&@cj@mx)AN?>P5#f|Uv;D}{_v9b*Ibs} z&c7KFoBd3R%~&8pQ<UW)OK!22o{`Ry#S@mS{<UvL|GwJjtNRwe@A!4#=aO~$vhS+W z^4yPD>iTlMk3H!byL@$0lVQX)*2)mShx`mP;(CSTl!I-G7S>NXEK~aG?9=*$KhvU& zUq4sVby%UmrM7gp&(fKGVN#o?O8!~)<iJ7;sqF$^iru${Wnb#ferMiT%C~=h##h<Y zz4xvad}NzBdF@v5DI1+#(&DBTxPMvVWSIQ1P$Yo;gpY4wswSulD7r!a&Yc-{uQH7? zURldd`rz`s#D>KwXz$&vBIbJ^1=y~g-1Fq3T}Sctdpv5kS5|-6n!MD*UUvGaWfxx> zmV2(t*<MkqG{f*+Q^50Ed;T+s%)Ys3$L}|#ZAZU~ctQGrw`<-Uzq2#&-fly!?yM<a zcCWj9HRvJF#+TZ)A7@)MAN6*4&RnePvE<>0FMRpZhyJn)*M_t9dn8`xH1u%0w&>^| zzqL2F_}&(IR+bnt;cLi$2IG<yi?_7M-Rrk{=q-~_^Pc@4W2)cHX;B~N9`~GWKH>Qb zzSN)v`Q}-<e`i=lZOV*ga5xKE-q|>9u`O@>f&4dL1Fd8A{srcy6qoILbZWlGx<qqf zZ%(ax?M3o$w$9O>e%kYpamPpL4w;DPaQ4S~_doWOt3TZU>IKfR%@61o(#@OjbVFLn zyyHtRMp_16k;?n=u)F07*UwPF&rf@%8?E?pcFx0z0;P?I?Jm3ROV&GkS?##bZ%MKB zHrk;x<;|{Lcd9!3bT-@0DZftFO@8py%h`%^Zb{F2%V)P=tb5~L#lFh={f%3@r(Rj` zH~4DVb2Y1X<vcy7)O5Eczr5gL$mVh4n4`o_n}`V(QKyrhH2f6!QlQykrIy$@W5LAq zFmZqWt3TbXmfkiOdB3h?%hEX#Gmm{eZ)@x7a@G9<BWJbk3+5LyIKrPu`X1XITeZf$ z^g*3nXRvynTg|G=mukM=15NZL1kXMRn&^ubF#V#xEPqnC<?B1QZso1dzi+txbZVUG zDNrv^0n!W9cRi}Lo9}eKVkh(b#cPgu&1zv;{Lr$dFskGGm539?DkU8Ls;rtmr=KrU zd46yM&l&H!=k}00J~yWD=Ug?N%L<$5<A+T2)wRX#y<I&|=Lu-!Q?_-x&IP&oj8``0 z?o_{UYFgdwi){_Bt}6Tsbx!!mqg<jOYvQ<n)8{yscXJId#C8>2%U!rf_U`LmnGI%5 z2b0#W6Ox%5apau4Y?w=@@~I<C9xtEyo@x0v_1=M>hdg9$+C1z}6(_F!<{p2|d%Nhj zAJ@_qL1V==mG2Xtcb?PnwYT2uJa>7+LVYJie``6{?Y(Sy>k{wB?2~jin$h`v%`)@2 zlX|beC(qyKa5U^m@a!*3RCgR#?O8G@CtkX;gKy_+na_@v)?1}mZ`$=Zd~GY<&#(Wn zH$7)cG+)`mubYc_eHl;5c^AqYE%4$sob*g7|Im^oUZ#d+b?c&7cIdXTOXqCgc;z>< z=jyjBa$EkX@0Ts^V${e3cLDF+s*@{ju&v-fA+PV<ysYO;TbA?mzCWVdL0!NZehc4P zM(J*y8fxFqHcK&VzOY%<+jOpFW#Zzh6%O2qPm1HVfYzPu+IjZ!-NRFFxPE2XnzHcm znu3+mzg2^o5;&JO&bpp)^1Nt$_)L2R%~sJFT`6z7tDF=#Gdgz7eB7aQZc@nKK6SII z^^V^@<h;qe)N(%Nb;#lJz$@xE;*ED7d_4dB&FROIugzM2>yxc7w<!Cadz+29w$y>< z`9kN{?vgCCnk)8*H*4SenYEMbgPv@XEIT5aVbGqv>(l<Xm#=)?0=na~mcO-B$*6aI zw&$(Bp6fj;FTCWisS^6i_cQpz55Jc+kKXZGbmh0MN{XAZ^5Nr-%sS=vxm_(qpn1Oh zUG*KUpf!3PzK1>ww<h(suM8-(QTx8Pu=DeN$$}m06+dgQNsBzVb?M^H&VnoIZZa=s zmd2)OFYy-K_U(pgYe?XCJIe}2Auspht&M(nb5~zJzdfsY(boB1TMBolXz=x4Um71C z(w*_tNW5jO)YX?8mv(O2an|H!4YT@^MgIF&8%`BJC^^Yg)tF=H+0YoT>FPWpWoNQ9 zP1j5jop-M3=xWJh(`KSh^EvNH{QOnY;6>%>mvL?lyJyvz_AUZV^Ie5Z^DRvY1}|yc zw{We?uid^*-V5vfie8=f`<9$x$sL_3T6=6QW6u@PF)=;4uR}YvxSaE?PU~uR6s}=k zw1#C*;Kdv2caoN=HA?7h?@LRZzPMo%C(AmycR9cAYie1v$NR&(fGX?z8r%xcAKA3{ zr)}K*$=6>qeAu6Q|B}Yrk6!Ar*46Hh?pcDnfL^Db?)YMz5c(}K6*A4Y>Xns{?-5<s zrOxx#{eAk&{2OSRZ%etugeSfBY74WkcX(WyeQ4>`8Gp-VjtOrJGL48mo49HACJwQu z+0Txg2&wPe6lb)~%k|0g_xpb7KUOuhT7F^AZN+_GGB2##?Rg2*1uTMg0r#CW-UR6a zZeR7+<iy!#D+|p}K6B^9MAwwtt@CbFJL1io&b@o>DYe6LL42&AO}%9G%eRDi&)%C5 z`K$Z(T8Wq6JyK_-TwE?49l@TF{e^Ri?Am1s)r!A2>#f`;w>PQ4?1|w#gNL&>op~uT z>0#@~iN6+b^tLZpu>G9w`)L#GmDINLtt!~WA9^N~ZT7TXOA^|X1+ylB4zA5+&Hwg! zPq|0+y|4T3ObVU-RO-{|XE%5L%YN$hamK|EuEkudjJGUJKAvz}HO$}Ue(DvEHZwhW z&PiPJk2XF2>GiAi{Ho&J=I3?<gw%(uxPEryC8;H|R;R80ZX&NzxqH^Fr?O(Fw<)~s zS;E11+3@M%71lSDwH9eU|CAvT5ZV7sD{#F?tE%h;E`_shn_n@^er3BdHeP^f<rM8; zC6zzgjLOelBJOuDVn6s;;z!xDBeNp!9!jaU{`TWsU2*J!stf01Eo;^ucad6m5_E!- z&Z5R2CnSPTh3Riu+N=3_x1i_8$M2YLa|L@RMbF-l13DqOc&bUtUJH#@gEv!{R%>qI zyuNX!&T>%~qnvXeIMaT;ePr<<Nma<nX-7{V*P`fT<$9&)>`<Tio?o|Bt}?Z9TG<tR z?QxD<dxJ^3f3@ZBmS3*tCW!AW`H}egfCS?s-m;qQKfXv7$1a{TEBTVl%~h+^y=|&J zcL^^Fiw$Ib_3bOD0~jPP8kijR9NYmsZoNh~<;FDjx%zG1*}f$^CU3OqTbgriOZ|dv zCl&-xm{}D0acRqk<eNLTt#XUo@w83*_h;QBlPA17w)w)gY~Gsb&VJg_p`1lBOEk|_ zEnmLL(u_OG-cX@-${NtMEf%VW#KgOfFADy#d(+K@?T>%`_>^`uW}AEH6@MMm__;qV zb&px9C7d!7=C?ib;>tgjonCh8zQrr<GGD!SzGTn3qFjHiETLC-10ffD-U?#RJZg2; z&0@QoabFZ~_af$ukC`58l=xQrKkv@ytKg7&G5`HO!Oj=gPRMWT<UGD|zJJ`app}}= zcS6>sZ8YBG|19lN#+E9c^qtv{PTzgY%=M>UrL=gDxwG@+<;Tr8Ulv($c6qebO;wpw zB};szG_HQV#wlu?2EE|(>Xqty?Hh{2>#AIL?akS>RlVG#X}^2eN^xo1OHwS$V}uxN z<BHeMtI1gzlPt#5yJ3Pn-*oc@9V_(aMXsvTPO8rHU~B4pTDSelM&b1#jA=DZPQmwf zWeZ)>-=M&9On6t9=ZWOiU*|CIc`=cH(ceF>-b?!TR964-H%`52y(?{T=#IQ*)zu%r zmfNnYny9syyEt6-vitP6JI@L}T$g3%^=lg6^jSfD-<@`?-)gk3&m*PKmnli;eqsHj z$afpkbgR<y9YHr+El#`0Z>eYGyKtFU#-CE*a2}iNuk~wEAGaU+e#UCTau5A}Q_J%W zf9=JDcpzOs2WS_t{_gWy$#W(D8FJtJwf^{a*^i%z+4-S+#UAbc&v2&ia#~Z-;rq(d z-f8ZVl?nX*R>o1?h<n~saX0(l_Ur%hW{9nRuWqx89o7j9e;(4g>r9E#UE_qld57L# zSW_7kae3Zm=l0kGYO0G@PijB8sHtv^(Tg9~t~M&`&#N=I^ZS<0l~Zq3j+(eUYdm!G z=M0&mSuFRra87az`M0S*=+VQk54gWG+tz#hvDmOt?PI^PU)JT6v!?M|1w9KZnJYz$ zgLZc7UVWW4*NVxiSL#W;i(+lrN0ZZU9(<ef^4^+HO`mq#J>b0WseGGx$>hblWmQX~ zrdg{`iWECC>+39$>2GS=nvOoQp0dj1g{9mC@%_tf?i~E^xi<HJtI(gcD=uGdZg^+9 zV!2;kz`Na#HJ*Ehwf*T@7IrC&UqfJGyvXDG!FuzVR~tN*m%VVQUHQmnzsT3k$Mb&~ zwd}3>@^)2CcdBUM+~s;%n>aqtx*Jxs`sO*!tdPH}r=I(~{Mrd~&~*%({ylzMwYAJS zHT&e1Q{@rCQ6Gw>c}(B!*_tQGc*uLfW%YJ`Bi+>G-uae~SZDrR)a+NW9&#LS@1OH4 zzO1#Yab75{wQQ;J7R@f}(8IrqHU^odgg3CeP5*Z`;a>6bKhD~Q+$W5$KHjlPvASUE zX)~Eu0R|UliS`Dnf4WtCeXaKOGiDqA{kgI8^R1f}F%#HUUNu{@yK?5TTjsg7$9{1x zH8cADw=>;7DEms;-lh+aV*<)}d$m2KCGV~mQwev`u%4&7coxf|<vUk)FXB!9b-n5J zlIdYDb7H5PCY;DV`?Rmf;bLm?>84_~Zs{1%k)$^g;g@{!r@F779R|7Nv(6zh$lF`A zEH3ji@AsvbrBqK|x+Hiqz4)5=6_#z6uA9Hz6tee3LGBhsJE!Qmho83_W_6V>+_rVn z=cwpOCtNGOCUM9VYu@+~`Mre8Xq~*wiQ5NX_P?H#+}p*uyUOcbq|6L1jivt?jK3UT zv{f`QEnF+4hxOB}2+_ZJtGZM|uErh|-S)2d4ohv+nIE-*l1Xm@e>^^ry{72*#3y&p z)lGt)#`|;8^2762`++Wpylkd0{n!POfR|6+{AZ~2^qwrb{rcV|56&#l*$TS6Wo6!+ zTazEoS~l5h(~{n+<x6imxh=KmaqXANtzrm|SL0`>Zt{5eu5QH+Cy{8U%x4Z2Nur@% zxAxrj@7VuQ>B!;ajwjPLE?y-7y5@7<cN^bTT&MR475uh7H>vXQ*;6Ny?mv-u1-j?+ zjc>K35!06~o1^ESx^aGcTT5_6|AdXk7tSo;`#wn^^03GYgWd6~;`Y8(XG@lvy+K;+ zy!V%9m*=f}&DDA<>`Kwfy?UpF3^h-*WY5%|tog{g?xxN5e_O*&pD_xU;3DB(DjYEB z^QY8FQ#Z~EWLWI{(PcaA@|Kr>HZ+UO`)=dtYstPxsIdCy`Qp>fOV>`g=-&UvVBNvz zlXWj8XI<gCbm?qfr3d$~+5N7j9Y2|6T~1#$d|BjZ@vA1R=!UG-l|@2NWStM+YXe>L z`Aa(crq8xiccIx4{$&!4Zky-n&Q0|6S6P|<=-IJ(GKT6eSL?ZVsJ;Kdo_plU0dH3R z&c(s=)@Fv8KKT|F!nQBiI~;NxuW#rb!JvijKRTRVkg#ulh=TL&q>szKPB>v%-}xyo zW3lPV#UFou-mU!co$D^i;LOxVU;0*+ot|U1Cg^KmyxMQr?JfDB+gtkgN3Tv^y+KTM z-oY}(ysM_4H%~2e@_$pA)g7LzS81=eh~eN|1I-){$sF5YdztGc%E$JIJBF;7XmoAG z!(hh^kn?!YrzW4C=^(XhYq-hX-_2jInV9TwSoFP`wJC9X(Ak<-U$?)Q+Hv#rC&4T0 zR!*C}>9hBY;sZ~EOhP9vU8FqWT!z7eDV(_ry~1y&taaX-^`GI_wTt&(Yi8H)P5(Rd zKf^_f{?GoO&;Dny{PX-z<9`O>KMQ}{{oD27{jatBKeIpW-?RFU{8#y1^>hF2{&WAU z{2Kee_x^pUe_c@jeE*yC??nGI%>Q@yZ}z|ZFa96?GkE{4c6fUBKf^9Db#Zg%m~Zt9 zruglQyDXNY^_RbXcUjQl^=~t#q*_#0sJY7YWKUK%YCG2ZQ(sCVT$O*V$&Z~{3+8ty zso6K@*-voJE1N#i>B1+rvUAdt&G+BDw!lqF`fKxQEz!WO&zui!ZemJPsqwd-80Y;k zI`a1oJI+;IHcE*n?c9CuMr@xHbL_3F!HX>s2A8L;R0-;s+IA>YL1O8q&oa}dx+v|s zdNOwJg@3b4ug7Lb#=W)Q<NU%U`L@paji)XrJv(!!`}OSKdz_rUH2Wx(EBvgNYyNpr zYEu5!n5nu-{LwP18{eM!v3uL)Wgn!&PQ{%&ac<d>qSCeOE5AxRp1!y9KZC^Q$3g}D zCuB1PF54~dis=phu%q2x=62tg^uzWh!MBU_b=meUt+?>omm!l~xg#sRI@wZj^DEmx z4auJ6Nj5tkU$-%1pSSz^g=c4bjxYWsELs}vDSYaD@5PHZPFHIi$Nau@!1Auzb04{2 zfyYKF@!=&0MBH3=Y;lPU6<=kV<S%m7U`b=n=K0^c?rO)GEiAsk>GL>KLu}zgR^9jF z*Uk4e#0#^pUv>GyXIa@?ot@K{Zn^o%)}GyGmeGkb-7hb;yk7V1QS-U383}KGR$kYN z{E;5=H0PL%k#>8pjP#YCdfipuZC}M`FK$||cSF)P*LvN|$VFGPGn(C#PMANIt~HkU za(46Ku!21HXBSJqT=}G0%yd{_(jVq<^}a=p7h@wQ>CHMKazJ{<e}<W!zG;Ua9@@X` z$e%3F^M{rH?qs&DU@<#WZC9H&dqeE(-Ai5=ot&z<?x;(uYUs@wTU9RZc=yUXKGyfd z{;nwZ7pfZ#{3fL9T`b|BE2FyTHE-l|y)9RN&vkq6<MO*YeeS#4`6qu(im2YeaO~iU zRHoy{P0A!QHnywoQ!YHDG+B=&aaO|=NAK00FN*gW?2KJ4o%Un>%HmbZsv3J)nO^Pv zw(juSFh-^Z?i<ZP9@U2)^Uq)PA>{pgxw)Ks%0olvO5Dud)|<jAy5j71BcFfjQfo?6 zZ%+8SYjJ^azSQbS?#o}*^<G+8Up`uy82|Eb>Jcsdhy_=|4!MZ$%D=HE&*pHo{p1wS z3H`lO)$>_ytJPNa?&_2Z7wrD|Rj5#1{)&M%-wf@CuX%0GE1VKF{kgQ(<Jv-w7YjFP zFxqo!&AiI#qf{y=UhP=A=e@u}p)c|4gMRGW-db6#HLLdi;q=HyKfgw?=j=M4dHs9S zn%}GLhIP*QxnRSCV;g1&m0!8O{BF91^|^C-a-WVq{>9d=k{4UE;Pv$x0iU`LExp=3 zKm73yr)^pui<vi`2@8-r(U2RoH^;No?PKZWk5iL^jMeRH{~Y~(&E&`aS(jdk&o<WI zE0rG}yKL(Y=)@sA=(f*E=~ut#eQD^P^E~v|=Sur~;@@rO>zMphJ$dBV?&AwqPx|qD zO=seohxt$U9r=;-RN+Cyvz0NIzn8G4?Cf49R{nL-yBguNUrce`)>+d7OwJjru6UsH zFvqr5{Jzz@ML8|;dN(%g+!>R5Z<Ei5(62K>FDeB5XYlW`+^(Q!$<j1WWdF-(y|6=( zaphgp+T6ugJKNrw?L4=n{o|)Vy@kAmH8yP1k9)M+=f6HTQP|d2cAoR2_p|j+)bHio zxM%s6A7?neiO#b-INR4gVXFtz>!lrbH|+w{o=dy@mfv_MXrlf}=WBmsFaJ9m@oPU@ zYuWt3nd@!MR~=nd#>@HVh<}pNp=)ZkPtM(38(UDF(QW5*dJ@MvzC@O!7tfzBQrVeQ zW&UKD)+hFWXm$0C!hLH^mm2bH4cL15=;yAQtQFFVej1F=t5g(xUUfL^urd2FFF3wy z&aT?kcBjuD+g!YQeeAB86RmpgUA@0i?Wm>y{D6GxSqI+pNE}t(s=a098qL>bZ=2g} z_uhz#j*_jCPrEwpUgtH*%jz+cE+m~1U3dKY2648wo%$Ph%N;eTxF}pQ@1nvM*}o@k zWHuO<UJyM|@*z}iS89&kkt+=sc9g8xyvfy>twl68VsDzeuxNnJv<dH1^d^+wJ6AIG z-lXGPr~f$V%-X!d#wY3H52KySH_mHn+Hj72len(Ot$AlQFD(f<*SCOU`jSu6uWi0) z>SCT%A$x1?&UGd06ScD4miE6)vHZ97dhOI{ci)H}F}k)kt8}*HnTB(*n+qJ;$~YO$ z%#%B{(xvKwo88)99Qi8i-NRRY*|%5Y!j_yorE6DCcBOaicxECRo|JN}<_iD*M_<|3 zH+h6dpU-#saq>)TgyjsWt%2#?6}^!{Y3n}hQoH(f`OGhA|I%t@@{V(})-K_lcp+~3 zHK7R?7I~{pURRs;{69nZFQ&FB@73+MX6dfobxF1B`l_<KlTBPiSF?G|*!Ilr#M6dn ze~LwXE7p8mW}_!zy2SnRWm`knv*P?$A4)`A+Oqz}nIlqJ_xqZwt*&?{y)3`MVmtX% zka((D>3nmmWyV*v9?0)*QWNpi5qeZHf8x(<<uf1ldI$=&MSU&OI5&Cc`&}Y;SL{uE zHpBbKl*Dg=mStTxy{wwDmn{xIx9@WN?ffgN?PJTIZMq^RYq0i?uDRF3TlK<g7hklk zFJ3qIPyVWy?A=*O50+G=)vVo8;^vts7U{ep{P67}2^A6lyIa#MRi?gkZ`PZ#^;C?) zva;LP@5C$-J+%1SlI^9dvNPWYE&bwAeXojrN7X!DdBzLJKFsYm+t2K-?r9rr{BFAR zgeRIi*RAYosMLDVTO6vh^MPp4#~&R5?<dV~J!n5|_tQ%ke%;-y`u^DSz(+3`PTqb! zCFFF{*1J+3C6jB;Tcze!L`b%`sLf-j(GUAlU-S9c`u?x=PyaJ;f3S0ZB%R&t**b0E zq37%$@A@1(WqE#X-TB$8__v>{wV(a$?frlH+wb0=fAiPo1ND2}^Dj?6p6)&|<h+HE zUOsR5mB5nSyz<GDi<W&?-}~<Pl_z(OKCcaY_hinW{PVw#ex7DuoblY>Y;}!!@Vcn= zT9?z8{f@nO@a5)`q;KoWS4{4d@(!){UJ?1kUr+E;;ti3m6$%}3YxpvL+`8HHNO0CX zzbDq=hZm%j$jR2-Uuu2j=Vf+_r(3LiR%W*4X%(c*d8J`rAANNF9oBpQ79TOK3FeRH zD)m&dxvswaZ1<uP^Y9JvzMn20@QZ$Z>*8B0Ucbe5f3&`}EKQxy%E|CIVN2hX3wfcr zOW)s$Y>&zO+i`tmz_mqRx90oHty!M5=CFR|{QZ-4=dzytetgs1$9|H}CvvVZs#x(v zD~~Ph){LJ^-|2eToiF`b{Y_x4<3r1H4@5Y=2h6HI8m_JRdx;L?T!$&0zdcSIu~^10 z{o~#3#o=8Q`^8mDDlUFVn-*M<bMr%b_$+n5usJuI`<8h<i#Z;eEqXpFZO$ugwajbT z$;$;RCoG+LueS1Lc6!RWIlKK9eYrMc&SRFg+opH+J(xV_wtnV}O*^E2M>+eH*w680 zPj)-Gmu;&}xXj$H5LXfI=hLRV%r#6|VIq7ixTt5v+__d$4u@nUrI_wnE%-jz`|s;H zQZWztH_qKIws(f+$Nvoc!69$gX#JW|lo{Zh<!U)q(KPF>ZPkgI`ku_sZ=N0gu-|vH z!f!=hqxG{k--)w%nYTVF_RfX7CGlskZh7wiwM%Mk-aW@@Q)N{*F17rbeENo>&r*$_ zt!a<iKXzF3^hKo2d}-D{IgV?>B-a4e36Xnl{`0X)7T>pIZO5X`zq2F#-fi4^QoGvU zGTPGW^s=R#{0tIKjI&P{n|-oT6)&sTJ9pJG>HNwQyJW8L`Ra#$>QX&<<?;*#<r9&2 z9k^C6Jo0GmC(ZR2j7mPWbrgNN{(4&X%X5ofUk}s0t@G;A)r@q*S&{l)R?kgcW^=t+ z_v(81!X@tvcS^nN+t|r-|B;+!m7|`dTnE>RW$T;6!wq+xn))r-Tz^Vo+JuKYPp?UP zm9x#|%x^0t^?dd<%toTp7P0X@*9&LZSw7iRF|{f<^{3B1*Bd*YhP+#qDcg5eG<533 z)p1iSZC=j$$a0WBK;h*qr}<O61X|yFZhQClVax55RpEbwulub&za~T?r+kO=RdKJJ z)U9sER5cfcd|hR#S(!Jn*`hq}tjQ(U_>)NtB9m?fc^feuKHGWx(^?UQK-JVwDIX_$ z{j>bw9}s+{z$N>2!2V|pha;}I9x(gdc&~h=ociVy^}GG0FKt+V>1@2(r((CZp87D` z)y4B?i3^(UWYk^%{P|p~d6ix9zQyI!IGfgI-kO-1x9?%?e#O^Uk6wJ6xyDLSZ@$(m z4&k%=mcHKYcV@xkP4zrtyEdp!Tsf(7^O<|Mi@v57MeB%Y?g?xu3$!_*Z&M^DcQ0+h znx{E-9)H&NZ}B&_Q@Q@F_TSTQrV{=81VlDGVty`h>0$9)_36^ur~Y`K*i$)m(U;u+ z4CMip=CUW&@3mbt=hB%Uw*9iRL~<W(k2!T|?{tlQnvR=F4qBeJk(`<vYV~Mt`U%-9 zZ^|~fY&ScwDPXhqWbb{=J0DDZ@z~{}bHbP2`KgAxXWj0}HZ6#C3^n*Nf%m-PC3a>( zMjerLXZ|u(o?dxv)AXmc;rsWpUi-!yvqoxWZpzl%=X-?Z*E?|hZP9-DCrLfe@0wA- z+<bAb^mF|us~3wn@s*`?q(!FMie@JJube#b{@kmt=QFO0U~awEb2K?-PD-2o3E!IM zway1}cf8o$+M0AzEW7rG+41b%Ucy~wtsB&YmHsm%-<p#$bC=~tZnl3WE$2mZ_6GB> z5PA}SsW4JB=v<(#N>8=*(Umjz_N1?vsd|O~w$`=ex1qtu?_E9^v@^K+aM0ho-<Tba zSG>BPulwoGl*upsC-AMjJBQ=Si3!IQEA<2aOnv&|^#|j<S4}pj35EJfhJL#*{k%lG zJ+Y#D;gqwf-~Kb)SUc_5^MK-;Jy92SY<sqE<AY?g>)X~&RgnzyJY%q9apS>BTQn4p zefY>2e}yUQyW#b(7nbrk-w^e-EljzkD!sD%)hewJU-^#L$;|IB==Ppe-hB0rit@M2 zN8T5XFH`f$JJ(jWe`@lit%7X(pTw@5>)?0p(wrqe{}~QG-xS;NCf;cGm%r0v@6UEv z%U9;Nu56Ltl`pgB$K2nLWv6(tD%Sh$dW$Ej;r`+|mm+hkllMey>duQ&?%s1sUOO>n z#-~XqBt3YRFH751`JlqC#k{wZYu5g50amkRVR<cIoLATUXJERbBs0rp({i1#pE|zk z5nu0UM}D@kzCXcgU;DAmPer>;YKl+p>F4@s`lnj#)7CAL*4tlRHH+y>UVP=mdP~dH zFDD9{Cmy-SvGBRS*6)yWQFoucTHCxx`sBJlZ=c($E}tZqkZ?D`%<kahGXk@%R&6`H zDV0k<KiPD1L0x&jb4TB*sC&~kK6$X=)zYu#F{eaJK76i`ynXlb(Wf`RwDmS#NLA3E zxS>7nNr_s_Uzg8a7taO1P2%q{H#mJq=e@n>w^AFEJ;`TQoVeY2Ba-j&WNtrM&#kxC z{CF2^61!mc7X9R$_m7WEEZVij)n?OIz3KOV-Ttz@V3#uYt7B_iE01rf`Y3!sP2uIY zXA)-<%U?%}?J;iX{=R=-Kz>?{%AqCqq!OQPKj<5>;qbBj0l(bm2mH9-D_LjyG)j?m zmVv0i{Pj;Iqb$nA7yEcW)?(iF{gR$?$FJD;i!JZ5zui&4bf4?<`FE!=<~@1v=9BEv zs`_-n>B+%U<bDbr`LpVL!lVBEId83gZ?Ji(u_Nq1!_B|$ukwSm=62lLx9j!3D_P-D zTeWo8T)ipkkgBEjExd649nOI1_j$Lt>ut@MRbg_WbHjdto{j#jn~Oj6FW>QpQP9`F zpyJN#6<z#2`SZ=}=IeD&io6$ne{PRmNl5eDy(Ld}R-c-&KL7Yz{j43T*XQ43y(b?w z@4+>T@0DT))@&?2?W|Beg_Y;?f}>X>=1Q{JiUuxHozZ1^e*PQZYqyTADB68{)h^+y zadQvvlJ+ZWj!2w(Rv^?%_qbsBoP?W+PWy}Wo}O^mYqPw1vqOAZXOeE$8q39rGm@>I zIA&<ndHvaEx$(1hu#wiQm34iN<xM-zMJ>1cG%d(>S!?J$=fmoyK5A=@KZ=h$H=X5( z#83YT$A0`-tr4wKAr~a8W*sQCbK2^sXXhIpWGl6d(OtGQh?m>vit3r->(XNLCdK`F zow&d8?}~eo<}Su}PrEIyyn3xer|seL=Q?jhXNmvGoA>qLDW%`R(x!&&Z}wENSvD80 zeY<1Lr%e?Le>vx?^n^zkDn6E+Rk^6wR_A!vwU>83xcpmhC2~6GM(eT(#Zqoh48)K2 zGo0XF<g@vVY4*H&h56O*D*mxgIC0!AI;E?7onouxSKt1aYIUWYl$A45r(LmJ9vtzc zH-lX%FY0>158qp7mv7nL^zZs^u{k$-&6~E|_!x1vyVT{;$J+J1*R*%-y1u4;W6v|~ z;-}MYJ-K61VX$cXDk)3m1q=C{m1lYS_bHfosaD+IcKvA5BojL~=11%sd$`25+&E&% zk$>uuR`Yym9+sU~=d&h0zjCu-?kt<ncc-%L3k@~W*mB{;*83_aW^S;XT{y9%G+zJO zRK_{?CI@xNtW#PlocU$?e}*?(lj>K^G5-59{;kfx&GPnh|1->d|6={0<3IENng8wn zIQ@71?0@f9|JwY~{&fGl`k(dXe?R}#f3p8--Cp+p3`yVrGu$uy&u}LGmi()4^)dCo R+P|iM@xQnKk^K7qHvzq4g%1D# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg6.png b/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/bg6.png new file mode 100644 index 0000000000000000000000000000000000000000..22f9d67fc27ea58d8a6deb1bbbd50ccaaa8f070e GIT binary patch literal 42880 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/index.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/backgrounds/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/database/.htaccess b/wp-content/plugins/wp2pgpmail/phpcaptcha/database/.htaccess new file mode 100644 index 000000000..8d2f25636 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/database/.htaccess @@ -0,0 +1 @@ +deny from all diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/database/index.html b/wp-content/plugins/wp2pgpmail/phpcaptcha/database/index.html new file mode 100644 index 000000000..8d1c8b69c --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/database/index.html @@ -0,0 +1 @@ + diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/database/securimage.sqlite b/wp-content/plugins/wp2pgpmail/phpcaptcha/database/securimage.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..10e233ddec53831b6d94af55db9c6fa003a320d7 GIT binary patch literal 30720 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 Q_}w!gAB~_aGi<yH0M^(C4FCWD literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/gdfonts/automatic.gdf b/wp-content/plugins/wp2pgpmail/phpcaptcha/gdfonts/automatic.gdf new file mode 100644 index 0000000000000000000000000000000000000000..3eee7068f3d178d9fcae61543edd388f2090b8a6 GIT binary patch literal 61196 zcma!NU|>*SU|^78U|<ku7zLvtFg!wl5d?5}1ti5dDu)pQ_`(H4F_8iwGjS;e$>EC! zT>6HBILL1xcfx288-_t*j0_A=3MLAnp@L8fA_gO&f=~)33ZbEbPzoZ3PBJp$3T<?i zqx|6z0-(ge07+-)-T_I05(9{)xg5w6RE)3^RUFKNOM-c*1Y8d4FPI-dG+Yi<3z$cy z99$cS0W%0hgZRi8BnEN=h(;C%u|Z<w$bkz8kO6}Q<0(I2enfXFSR6{A%0UI86p9>F z3`Swfp@<+jU=0W^3JWX;Cs3pyIRq|;QAi@m;0^(ZA~bX1T(B&hhsvP79N0uqii27N z;UkeyaS(+h3TA@DU>Ga_C17G`G*}i*49>+JT5u&aXMi1u8WvDHAu=EmA^>7R;~v5U zlVCY83u*|M4NWqzLI^4a&ahy4u+JeZumNy|U@@p}m@Z^VOevUtxGE$81QTp7l7R>r zsH0#8qo{%Dg3w?`!!$yK;JQFutWr=FP&tq?a2SFaC~{yCi0u$2m;~zsvmjDXEg%uF z6oe0DLO5Xa;UWXUKnW;R2Y?(7^9ia9%<<S%fW_bhiaxj~n1LyUB7)$6RTFXuLOF~D z(FP)6B5)cc2*z*`I0Gz<!!ocOTqP=l7IN_9j%pQ@2euK3fC@t>BylhkA_^zLVo(Au z2xEZ7VH|WCPkKRDN_#%Yr8sN>N#Te_NU%~_AIMM~Mve*(=MVrVG^{BNB7-f%z-6%L zgUDeGF|ZU?8EAn#+~sgpm*9W_6WBrkECC|0NrLh%wkX1?b`T1J{6#QWu(%td4@6>- z1POtpa2bq0(7-xDMqt51L=KNL!BUv{79tEHF?|gZ1!GJp{2_@&{a_WslZSA59qM=N z(qK^tf$3$4ICd-X$$@MHVa({mv}06c$b|s*1OfI2I8}gIm;_bjz=oj^2n$h!Aso0Q zgo{GL<)93(B$SO#Q6h(K)+m281crPFP?8~VRS$&B9P)uiMGt_(3WY!zjv@@<z$GDE z6cR2s$`}oS(GVal1VA|nmky8|zOoLNz9A+~Ub7G!IM_pHFiByL3$P1Gl>%#`laIl@ zFzj|g#<H+Geu#-eLKIv2gUf&zsJ;S;AYo)lh%i_LiHYEYSs(%|3u1uraOXi16C^c( z{R&}%{SK9b2!lw7D2xP&z%fh^PUDt=D;Ww5kT-C-6C{TmT*&H1<&Z-I!5&QEf^gN~ zWr4#BN}#zCDhi`eWnrRF8dVa`1IxmBs0=J}U?DhxtQ;-~VIWCC1mGl+46JxT7J{?E z8sI!s#(>CyErk&X_rOGuXt*Sj7>o&*8!8N#!@)F~qrqZu0#y<&3}K*3B6uKK1P_G; zlEONP0+GNf1xr!{B=Hv7cqLI>h~R*ogy5pE$dd!>LUIa(k3=Hbfg}oMB1s_v1SEqj zF_hS-tw0nW$XkeDq7x5n4V-|7BwPf+fXksq1Xuw=4uv(6<xm1*P;tPqf*?@bh7bm` zNRvZRjo@IKgeC`803s0LAQngj8H2=N7+D<5hDo5&U^zsl!X}F*2IGQt!Z>I&d2(P~ zNN$1fkw_$4kVL^uBq`MFhb%GF*kGT533Qi(1)&7098?fWp~ztqgDC*Z!8m9%SPo90 zO2UPq3}jiT5Q0LI1Pem>U^aTZL**c&90*CUS}Myy5)8ypu=xn<;45$;;waS-NCR9L z!~hAPV2~gfqlgX}4%q3a1l;YY!eAaza⪼2C6oY2m<4gBP4|qeZ-qMB(x#CgTlfS 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 RL$JUSSe=VdGs?mj0stpYG|>P6 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/gdfonts/index.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/gdfonts/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/images/audio_icon.gif b/wp-content/plugins/wp2pgpmail/phpcaptcha/images/audio_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..beafd518270f15bd62e15276ede1c5daab7d8892 GIT binary patch literal 621 zcmZ?wbhEHb6k`x!_^QpIqpNFdY;5n~;OXV*;u07d77`tuk`SMg4g%!``GsX=6`7eG zdAYMHE8DB9Cl}-|Dk@sq*4En8JY(Xd{;AWZcXzLtI%VaIncG&ZSh;fLjtv{u?cBL* z-n?TgR~%Wn^4iXwNA~QwzIDrk0|)jWJ$mfyncG*dUO#s1;k9c|Uc7kq`}ZFcBNGM+ zfZ|UUMg|6L1|5(YAU`p%{d1V=wKQmDh!%-d142XVDh07AQ;<xtneM}=Ai*P`1~>ER z&JczMN5+K#45FG)K~b*7Q4C^Jn4E$lQ((3)>C;?bkSo&R)#elkb<$J?{st9gMm3>1 zfv$^S?zH7#KAd!L!UPYIPMEb*qj-3DIg(8tY3M8!f(mxA=;+As^L0)(EU}U6g9wIt zDc+pmCKL3qi80YfYic({bdu6x$yBa>zh}i@d%0GCY&w^;&>+HU>V%_9Ks<=ER|=k3 ve6d4E8p4By!770l#f&RMv_u1tLQ=K=7?M7)%B4YI3hFZiwE*l0M+R#E?Xm1V literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/images/index.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/images/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/images/refresh.gif b/wp-content/plugins/wp2pgpmail/phpcaptcha/images/refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..a10b24717f9d5be6af61c1c3dd646f6bf0e99ab9 GIT binary patch literal 865 zcmZ?wbhEHb6k`x!_!h>%CaB6Ptji&y#V=<qs$wmzW+Sg-BdX;puji<w=cZ=lrDYu+ zo?KniIj5?BRp+$j-IG`J&RX3zdt2X}ZBys2?OC{Y`hxW{7q6ePX!DfCyQi(#H+$*k z8OwLgU$K48$~_BLZCku%_mT~JR&LxgZRz1@E00cHeQL(CLvvRjnYH@lybZ_ZY`(N? z{ecDR&n($^XwjxKt2Q56v;E}iok!O0I<tQN&5b*cZr*ch$NuxXkDT3p@Y0sUH+LPq zvj6z4Jtyw$JpOR+)sKfxT|Io}&WZE4j$OEO^78$|XP+Ip^7`zRhbJz-ym<Zbg&U7A z-+p!N!OPpP|37;9_37ImFW!E5{N?}q&!1j@{rl$6|4-lkeE#$A_rHG(0|yj;vVbku z0g<3MVPOB)5C#RIP#R8!fLI|Rp+O;NQoc?mN($y~zHs4?u#hl&d1?6|eF<F!hp-T^ z&ajZMFmq{r3yIKR11UjWGmvRu>>({{;T0Mh93W*RC)eNrQ5@zgqHh%%8X6oNtf#3d zr|%0^8s=y!9~8>T7#zUPrxGfoU=I=v4K)!r4P{Zc4B!^E6AiW0HH8?Vq+k;&rKiHI zqNOSn?8>hXQX3YgpkNiMuA!_Etg5OKY^kpRRvTifZxgI1sS&!rAwW+#G}v9i6zrK$ zH$gcbVddc9(4e4D8-95Yh#9`7`n(dhp+2FZp)L&8@}3aU5EDZ=33Zmx04^q033+F* zU}$Jqn1!s7gak*ZjDdo_LtvOcNIWDgG}KB_!9tKtQBK?{6zm3&cvwS7n75OXmAI0p pUuYQE31H!{pwO_O(BQDp(9p2ZK!^~C3=Io|C<7}E3~Xeu1^{roE0F*I literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/index.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage.php new file mode 100644 index 000000000..ebabab0fe --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage.php @@ -0,0 +1,1584 @@ +<?php + +/** + * Project: Securimage: A PHP class for creating and managing form CAPTCHA images<br /> + * File: securimage.php<br /> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or any later version.<br /><br /> + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details.<br /><br /> + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br /><br /> + * + * Any modifications to the library should be indicated clearly in the source code + * to inform users that the changes are not a part of the original software.<br /><br /> + * + * If you found this script useful, please take a quick moment to rate it.<br /> + * http://www.hotscripts.com/rate/49400.html Thanks. + * + * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA + * @link http://www.phpcaptcha.org/latest.zip Download Latest Version + * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation + * @copyright 2009 Drew Phillips + * @author Drew Phillips <drew@drew-phillips.com> + * @version 2.0.1 BETA (December 6th, 2009) + * @package Securimage + * + */ + +/** + ChangeLog + + 2.0.1 + - Add support for browsers with cookies disabled (requires php5, sqlite) maps users to md5 hashed ip addresses and md5 hashed codes for security + - Add fallback to gd fonts if ttf support is not enabled or font file not found (Mike Challis http://www.642weather.com/weather/scripts.php) + - Check for previous definition of image type constants (Mike Challis) + - Fix mime type settings for audio output + - Fixed color allocation issues with multiple colors and background images, consolidate allocation to one function + - Ability to let codes expire after a given length of time + - Allow HTML color codes to be passed to Securimage_Color (suggested by Mike Challis) + + 2.0.0 + - Add mathematical distortion to characters (using code from HKCaptcha) + - Improved session support + - Added Securimage_Color class for easier color definitions + - Add distortion to audio output to prevent binary comparison attack (proposed by Sven "SavageTiger" Hagemann [insecurity.nl]) + - Flash button to stream mp3 audio (Douglas Walsh www.douglaswalsh.net) + - Audio output is mp3 format by default + - Change font to AlteHaasGrotesk by yann le coroller + - Some code cleanup + + 1.0.4 (unreleased) + - Ability to output audible codes in mp3 format to stream from flash + + 1.0.3.1 + - Error reading from wordlist in some cases caused words to be cut off 1 letter short + + 1.0.3 + - Removed shadow_text from code which could cause an undefined property error due to removal from previous version + + 1.0.2 + - Audible CAPTCHA Code wav files + - Create codes from a word list instead of random strings + + 1.0 + - Added the ability to use a selected character set, rather than a-z0-9 only. + - Added the multi-color text option to use different colors for each letter. + - Switched to automatic session handling instead of using files for code storage + - Added GD Font support if ttf support is not available. Can use internal GD fonts or load new ones. + - Added the ability to set line thickness + - Added option for drawing arced lines over letters + - Added ability to choose image type for output + + */ + +/** + * Output images in JPEG format + */ +if (!defined('SI_IMAGE_JPEG')) + define('SI_IMAGE_JPEG', 1); +/** + * Output images in PNG format + */ +if (!defined('SI_IMAGE_PNG')) + define('SI_IMAGE_PNG', 2); +/** + * Output images in GIF format (not recommended) + * Must have GD >= 2.0.28! + */ +if (!defined('SI_IMAGE_GIF')) + define('SI_IMAGE_GIF', 3); + +/** + * Securimage CAPTCHA Class. + * + * @package Securimage + * @subpackage classes + * + */ +class Securimage { + + /** + * The desired width of the CAPTCHA image. + * + * @var int + */ + var $image_width; + + /** + * The desired width of the CAPTCHA image. + * + * @var int + */ + var $image_height; + + /** + * The image format for output.<br /> + * Valid options: SI_IMAGE_PNG, SI_IMAGE_JPG, SI_IMAGE_GIF + * + * @var int + */ + var $image_type; + + /** + * The length of the code to generate. + * + * @var int + */ + var $code_length; + + /** + * The character set for individual characters in the image.<br /> + * Letters are converted to uppercase.<br /> + * The font must support the letters or there may be problematic substitutions. + * + * @var string + */ + var $charset; + + /** + * Create codes using this word list + * + * @var string The path to the word list to use for creating CAPTCHA codes + */ + var $wordlist_file; + + /** + * Use wordlist of not + * + * @var bool true to use wordlist file, false to use random code + */ + var $use_wordlist = false; + + /** + * Note: Use of GD fonts is not recommended as many distortion features are not available<br /> + * The GD font to use.<br /> + * Internal gd fonts can be loaded by their number.<br /> + * Alternatively, a file path can be given and the font will be loaded from file. + * + * @var mixed + */ + var $gd_font_file; + + /** + * The approximate size of the font in pixels.<br /> + * This does not control the size of the font because that is determined by the GD font itself.<br /> + * This is used to aid the calculations of positioning used by this class.<br /> + * + * @var int + */ + var $gd_font_size; + + /** + * Use a gd font instead of TTF + * + * @var bool true for gd font, false for TTF + */ + var $use_gd_font; + + // Note: These font options below do not apply if you set $use_gd_font to true with the exception of $text_color + + /** + * The path to the TTF font file to load. + * + * @var string + */ + var $ttf_file; + + /** + * How much to distort image, higher = more distortion.<br /> + * Distortion is only available when using TTF fonts.<br /> + * + * @var float + */ + var $perturbation; + + /** + * The minimum angle in degrees, with 0 degrees being left-to-right reading text.<br /> + * Higher values represent a counter-clockwise rotation.<br /> + * For example, a value of 90 would result in bottom-to-top reading text.<br /> + * This value along with maximum angle distance do not need to be very high with perturbation + * + * @var int + */ + var $text_angle_minimum; + + /** + * The minimum angle in degrees, with 0 degrees being left-to-right reading text.<br /> + * Higher values represent a counter-clockwise rotation.<br /> + * For example, a value of 90 would result in bottom-to-top reading text. + * + * @var int + */ + var $text_angle_maximum; + + /** + * The X-Position on the image where letter drawing will begin.<br /> + * This value is in pixels from the left side of the image. + * + * @var int + * @deprecated 2.0 + */ + var $text_x_start; + + /** + * The background color for the image as a Securimage_Color.<br /> + * + * @var Securimage_Color + */ + var $image_bg_color; + + /** + * Scan this directory for gif, jpg, and png files to use as background images.<br /> + * A random image file will be picked each time.<br /> + * Change from null to the full path to your directory.<br /> + * i.e. var $background_directory = $_SERVER['DOCUMENT_ROOT'] . '/securimage/backgrounds'; + * Make sure not to pass a background image to the show function, otherwise this directive is ignored. + * + * @var string + */ + var $background_directory = null; //'./backgrounds'; + + /** + * The text color to use for drawing characters as a Securimage_Color.<br /> + * This value is ignored if $use_multi_text is set to true.<br /> + * Make sure this contrasts well with the background color or image.<br /> + * + * @see Securimage::$use_multi_text + * @var Securimage_Color + */ + var $text_color; + + /** + * Set to true to use multiple colors for each character. + * + * @see Securimage::$multi_text_color + * @var boolean + */ + var $use_multi_text; + + /** + * Array of Securimage_Colors which will be randomly selected for each letter.<br /> + * + * @var array + */ + var $multi_text_color; + + /** + * Set to true to make the characters appear transparent. + * + * @see Securimage::$text_transparency_percentage + * @var boolean + */ + var $use_transparent_text; + + /** + * The percentage of transparency, 0 to 100.<br /> + * A value of 0 is completely opaque, 100 is completely transparent (invisble) + * + * @see Securimage::$use_transparent_text + * @var int + */ + var $text_transparency_percentage; + + + // Line options + /** + * Draw vertical and horizontal lines on the image. + * + * @see Securimage::$line_color + * @see Securimage::$draw_lines_over_text + * @var boolean + */ + var $num_lines; + + /** + * Color of lines drawn over text + * + * @var string + */ + var $line_color; + + /** + * Draw the lines over the text.<br /> + * If fales lines will be drawn before putting the text on the image. + * + * @var boolean + */ + var $draw_lines_over_text; + + /** + * Text to write at the bottom corner of captcha image + * + * @since 2.0 + * @var string Signature text + */ + var $image_signature; + + /** + * Color to use for writing signature text + * + * @since 2.0 + * @var Securimage_Color + */ + var $signature_color; + + /** + * Full path to the WAV files to use to make the audio files, include trailing /.<br /> + * Name Files [A-Z0-9].wav + * + * @since 1.0.1 + * @var string + */ + var $audio_path; + + /** + * Type of audio file to generate (mp3 or wav) + * + * @var string + */ + var $audio_format; + + /** + * The session name to use if not the default. Blank for none + * + * @see http://php.net/session_name + * @since 2.0 + * @var string + */ + var $session_name = ''; + + /** + * The amount of time in seconds that a code remains valid.<br /> + * Any code older than this number will be considered invalid even if entered correctly.<br /> + * Any non-numeric or value less than 1 disables this functionality. + * + * @var int + */ + var $expiry_time; + + /** + * Path to the file to use for storing codes for users.<br /> + * THIS FILE MUST ABSOLUTELY NOT BE ACCESSIBLE FROM A WEB BROWSER!!<br /> + * Put this file in a directory below the web root or one that is restricted (i.e. an apache .htaccess file with deny from all)<br /> + * If you cannot meet those requirements your forms may not be completely protected.<br /> + * You could obscure the database file name but this is also not recommended. + * + * @var string + */ + var $sqlite_database; + + /** + * Use an SQLite database for storing codes as a backup to sessions.<br /> + * Note: Sessions will still be used + */ + var $use_sqlite_db; + + + //END USER CONFIGURATION + //There should be no need to edit below unless you really know what you are doing. + + /** + * The gd image resource. + * + * @access private + * @var resource + */ + var $im; + + /** + * Temporary image for rendering + * + * @access private + * @var resource + */ + var $tmpimg; + + /** + * Internal scale factor for anti-alias @hkcaptcha + * + * @access private + * @since 2.0 + * @var int + */ + var $iscale; // internal scale factor for anti-alias @hkcaptcha + + /** + * The background image resource + * + * @access private + * @var resource + */ + var $bgimg; + + /** + * The code generated by the script + * + * @access private + * @var string + */ + var $code; + + /** + * The code that was entered by the user + * + * @access private + * @var string + */ + var $code_entered; + + /** + * Whether or not the correct code was entered + * + * @access private + * @var boolean + */ + var $correct_code; + + /** + * Handle to SQLite database + * + * @access private + * @var resource + */ + var $sqlite_handle; + + /** + * Color resource for image line color + * + * @access private + * @var int + */ + var $gdlinecolor; + + /** + * Array of colors for multi colored codes + * + * @access private + * @var array + */ + var $gdmulticolor; + + /** + * Color resource for image font color + * + * @access private + * @var int + */ + var $gdtextcolor; + + /** + * Color resource for image signature color + * + * @access private + * @var int + */ + var $gdsignaturecolor; + + /** + * Color resource for image background color + * + * @access private + * @var int + */ + var $gdbgcolor; + + + /** + * Class constructor.<br /> + * Because the class uses sessions, this will attempt to start a session if there is no previous one.<br /> + * If you do not start a session before calling the class, the constructor must be called before any + * output is sent to the browser. + * + * <code> + * $securimage = new Securimage(); + * </code> + * + */ + function Securimage() + { + // Initialize session or attach to existing + if ( session_id() == '' ) { // no session has been started yet, which is needed for validation + if (trim($this->session_name) != '') { + session_name($this->session_name); // set session name if provided + } + session_start(); + } + + // Set Default Values + $this->image_width = 230; + $this->image_height = 80; + $this->image_type = SI_IMAGE_PNG; + + $this->code_length = 6; + $this->charset = 'ABCDEFGHKLMNPRSTUVWYZabcdefghklmnprstuvwyz23456789'; + $this->wordlist_file = './words/words.txt'; + $this->use_wordlist = false; + + $this->gd_font_file = 'gdfonts/automatic.gdf'; + $this->use_gd_font = false; + $this->gd_font_size = 24; + $this->text_x_start = 15; + + $this->ttf_file = './AHGBold.ttf'; + + $this->perturbation = 0.75; + $this->iscale = 5; + $this->text_angle_minimum = 0; + $this->text_angle_maximum = 0; + + $this->image_bg_color = new Securimage_Color(0xff, 0xff, 0xff); + $this->text_color = new Securimage_Color(0x3d, 0x3d, 0x3d); + $this->multi_text_color = array(new Securimage_Color(0x0, 0x20, 0xCC), + new Securimage_Color(0x0, 0x30, 0xEE), + new Securimage_color(0x0, 0x40, 0xCC), + new Securimage_Color(0x0, 0x50, 0xEE), + new Securimage_Color(0x0, 0x60, 0xCC)); + $this->use_multi_text = false; + + $this->use_transparent_text = false; + $this->text_transparency_percentage = 30; + + $this->num_lines = 10; + $this->line_color = new Securimage_Color(0x3d, 0x3d, 0x3d); + $this->draw_lines_over_text = true; + + $this->image_signature = ''; + $this->signature_color = new Securimage_Color(0x20, 0x50, 0xCC); + $this->signature_font = './AHGBold.ttf'; + + $this->audio_path = './audio/'; + $this->audio_format = 'mp3'; + $this->session_name = ''; + $this->expiry_time = 900; + + $this->sqlite_database = 'database/securimage.sqlite'; + $this->use_sqlite_db = false; + + $this->sqlite_handle = false; + } + + /** + * Generate a code and output the image to the browser. + * + * <code> + * <?php + * include 'securimage.php'; + * $securimage = new Securimage(); + * $securimage->show('bg.jpg'); + * ?> + * </code> + * + * @param string $background_image The path to an image to use as the background for the CAPTCHA + */ + function show($background_image = "") + { + if($background_image != "" && is_readable($background_image)) { + $this->bgimg = $background_image; + } + + $this->doImage(); + } + + /** + * Validate the code entered by the user. + * + * <code> + * $code = $_POST['code']; + * if ($securimage->check($code) == false) { + * die("Sorry, the code entered did not match."); + * } else { + * $valid = true; + * } + * </code> + * @param string $code The code the user entered + * @return boolean true if the code was correct, false if not + */ + function check($code) + { + $this->code_entered = $code; + $this->validate(); + return $this->correct_code; + } + + /** + * Output audio file with HTTP headers to browser + * + * <code> + * $sound = new Securimage(); + * $sound->audio_format = 'mp3'; + * $sound->outputAudioFile(); + * </code> + * + * @since 2.0 + */ + function outputAudioFile() + { + if (strtolower($this->audio_format) == 'wav') { + header('Content-type: audio/x-wav'); + $ext = 'wav'; + } else { + header('Content-type: audio/mpeg'); // default to mp3 + $ext = 'mp3'; + } + + header("Content-Disposition: attachment; filename=\"securimage_audio.{$ext}\""); + header('Cache-Control: no-store, no-cache, must-revalidate'); + header('Expires: Sun, 1 Jan 2000 12:00:00 GMT'); + header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT'); + + $audio = $this->getAudibleCode($ext); + + header('Content-Length: ' . strlen($audio)); + + echo $audio; + exit; + } + + /** + * Generate and output the image + * + * @access private + * + */ + function doImage() + { + if ($this->use_gd_font == true) { + $this->iscale = 1; + } + if($this->use_transparent_text == true || $this->bgimg != "") { + $this->im = imagecreatetruecolor($this->image_width, $this->image_height); + $this->tmpimg = imagecreatetruecolor($this->image_width * $this->iscale, $this->image_height * $this->iscale); + + } else { //no transparency + $this->im = imagecreate($this->image_width, $this->image_height); + $this->tmpimg = imagecreate($this->image_width * $this->iscale, $this->image_height * $this->iscale); + } + + $this->allocateColors(); + imagepalettecopy($this->tmpimg, $this->im); + + $this->setBackground(); + + $this->createCode(); + + if (!$this->draw_lines_over_text && $this->num_lines > 0) $this->drawLines(); + + $this->drawWord(); + if ($this->use_gd_font == false && is_readable($this->ttf_file)) $this->distortedCopy(); + + if ($this->draw_lines_over_text && $this->num_lines > 0) $this->drawLines(); + + if (trim($this->image_signature) != '') $this->addSignature(); + + $this->output(); + + } + + /** + * Allocate all colors that will be used in the CAPTCHA image + * + * @since 2.0.1 + * @access private + */ + function allocateColors() + { + // allocate bg color first for imagecreate + $this->gdbgcolor = imagecolorallocate($this->im, $this->image_bg_color->r, $this->image_bg_color->g, $this->image_bg_color->b); + + $alpha = intval($this->text_transparency_percentage / 100 * 127); + + if ($this->use_transparent_text == true) { + $this->gdtextcolor = imagecolorallocatealpha($this->im, $this->text_color->r, $this->text_color->g, $this->text_color->b, $alpha); + $this->gdlinecolor = imagecolorallocatealpha($this->im, $this->line_color->r, $this->line_color->g, $this->line_color->b, $alpha); + } else { + $this->gdtextcolor = imagecolorallocate($this->im, $this->text_color->r, $this->text_color->g, $this->text_color->b); + $this->gdlinecolor = imagecolorallocate($this->im, $this->line_color->r, $this->line_color->g, $this->line_color->b); + } + + $this->gdsignaturecolor = imagecolorallocate($this->im, $this->signature_color->r, $this->signature_color->g, $this->signature_color->b); + + if ($this->use_multi_text == true) { + $this->gdmulticolor = array(); + + foreach($this->multi_text_color as $color) { + if ($this->use_transparent_text == true) { + $this->gdmulticolor[] = imagecolorallocatealpha($this->im, $color->r, $color->g, $color->b, $alpha); + } else { + $this->gdmulticolor[] = imagecolorallocate($this->im, $color->r, $color->g, $color->b); + } + } + } + } + + /** + * Set the background of the CAPTCHA image + * + * @access private + * + */ + function setBackground() + { + imagefilledrectangle($this->im, 0, 0, $this->image_width * $this->iscale, $this->image_height * $this->iscale, $this->gdbgcolor); + imagefilledrectangle($this->tmpimg, 0, 0, $this->image_width * $this->iscale, $this->image_height * $this->iscale, $this->gdbgcolor); + + if ($this->bgimg == '') { + if ($this->background_directory != null && is_dir($this->background_directory) && is_readable($this->background_directory)) { + $img = $this->getBackgroundFromDirectory(); + if ($img != false) { + $this->bgimg = $img; + } + } + } + + $dat = @getimagesize($this->bgimg); + if($dat == false) { + return; + } + + switch($dat[2]) { + case 1: $newim = @imagecreatefromgif($this->bgimg); break; + case 2: $newim = @imagecreatefromjpeg($this->bgimg); break; + case 3: $newim = @imagecreatefrompng($this->bgimg); break; + case 15: $newim = @imagecreatefromwbmp($this->bgimg); break; + case 16: $newim = @imagecreatefromxbm($this->bgimg); break; + default: return; + } + + if(!$newim) return; + + imagecopyresized($this->im, $newim, 0, 0, 0, 0, $this->image_width, $this->image_height, imagesx($newim), imagesy($newim)); + } + + /** + * Return the full path to a random gif, jpg, or png from the background directory. + * + * @access private + * @see Securimage::$background_directory + * @return mixed false if none found, string $path if found + */ + function getBackgroundFromDirectory() + { + $images = array(); + + if ($dh = opendir($this->background_directory)) { + while (($file = readdir($dh)) !== false) { + if (preg_match('/(jpg|gif|png)$/i', $file)) $images[] = $file; + } + + closedir($dh); + + if (sizeof($images) > 0) { + return rtrim($this->background_directory, '/') . '/' . $images[rand(0, sizeof($images)-1)]; + } + } + + return false; + } + + /** + * Draw random curvy lines over the image<br /> + * Modified code from HKCaptcha + * + * @since 2.0 + * @access private + * + */ + function drawLines() + { + for ($line = 0; $line < $this->num_lines; ++$line) { + $x = $this->image_width * (1 + $line) / ($this->num_lines + 1); + $x += (0.5 - $this->frand()) * $this->image_width / $this->num_lines; + $y = rand($this->image_height * 0.1, $this->image_height * 0.9); + + $theta = ($this->frand()-0.5) * M_PI * 0.7; + $w = $this->image_width; + $len = rand($w * 0.4, $w * 0.7); + $lwid = rand(0, 2); + + $k = $this->frand() * 0.6 + 0.2; + $k = $k * $k * 0.5; + $phi = $this->frand() * 6.28; + $step = 0.5; + $dx = $step * cos($theta); + $dy = $step * sin($theta); + $n = $len / $step; + $amp = 1.5 * $this->frand() / ($k + 5.0 / $len); + $x0 = $x - 0.5 * $len * cos($theta); + $y0 = $y - 0.5 * $len * sin($theta); + + $ldx = round(-$dy * $lwid); + $ldy = round($dx * $lwid); + + for ($i = 0; $i < $n; ++$i) { + $x = $x0 + $i * $dx + $amp * $dy * sin($k * $i * $step + $phi); + $y = $y0 + $i * $dy - $amp * $dx * sin($k * $i * $step + $phi); + imagefilledrectangle($this->im, $x, $y, $x + $lwid, $y + $lwid, $this->gdlinecolor); + } + } + } + + /** + * Draw the CAPTCHA code over the image + * + * @access private + * + */ + function drawWord() + { + $width2 = $this->image_width * $this->iscale; + $height2 = $this->image_height * $this->iscale; + + if ($this->use_gd_font == true || !is_readable($this->ttf_file)) { + if (!is_int($this->gd_font_file)) { //is a file name + $font = @imageloadfont($this->gd_font_file); + if ($font == false) { + trigger_error("Failed to load GD Font file {$this->gd_font_file} ", E_USER_WARNING); + return; + } + } else { //gd font identifier + $font = $this->gd_font_file; + } + + imagestring($this->im, $font, $this->text_x_start, ($this->image_height / 2) - ($this->gd_font_size / 2), $this->code, $this->gdtextcolor); + } else { //ttf font + $font_size = $height2 * .35; + $bb = imagettfbbox($font_size, 0, $this->ttf_file, $this->code); + $tx = $bb[4] - $bb[0]; + $ty = $bb[5] - $bb[1]; + $x = floor($width2 / 2 - $tx / 2 - $bb[0]); + $y = round($height2 / 2 - $ty / 2 - $bb[1]); + + $strlen = strlen($this->code); + if (!is_array($this->multi_text_color)) $this->use_multi_text = false; + + + if ($this->use_multi_text == false && $this->text_angle_minimum == 0 && $this->text_angle_maximum == 0) { // no angled or multi-color characters + imagettftext($this->tmpimg, $font_size, 0, $x, $y, $this->gdtextcolor, $this->ttf_file, $this->code); + } else { + for($i = 0; $i < $strlen; ++$i) { + $angle = rand($this->text_angle_minimum, $this->text_angle_maximum); + $y = rand($y - 5, $y + 5); + if ($this->use_multi_text == true) { + $font_color = $this->gdmulticolor[rand(0, sizeof($this->gdmulticolor) - 1)]; + } else { + $font_color = $this->gdtextcolor; + } + + $ch = $this->code{$i}; + + imagettftext($this->tmpimg, $font_size, $angle, $x, $y, $font_color, $this->ttf_file, $ch); + + // estimate character widths to increment $x without creating spaces that are too large or too small + // these are best estimates to align text but may vary between fonts + // for optimal character widths, do not use multiple text colors or character angles and the complete string will be written by imagettftext + if (strpos('abcdeghknopqsuvxyz', $ch) !== false) { + $min_x = $font_size - ($this->iscale * 6); + $max_x = $font_size - ($this->iscale * 6); + } else if (strpos('ilI1', $ch) !== false) { + $min_x = $font_size / 5; + $max_x = $font_size / 3; + } else if (strpos('fjrt', $ch) !== false) { + $min_x = $font_size - ($this->iscale * 12); + $max_x = $font_size - ($this->iscale * 12); + } else if ($ch == 'wm') { + $min_x = $font_size; + $max_x = $font_size + ($this->iscale * 3); + } else { // numbers, capitals or unicode + $min_x = $font_size + ($this->iscale * 2); + $max_x = $font_size + ($this->iscale * 5); + } + + $x += rand($min_x, $max_x); + } //for loop + } // angled or multi-color + } //else ttf font + //$this->im = $this->tmpimg; + //$this->output(); + } //function + + /** + * Warp text from temporary image onto final image.<br /> + * Modified for securimage + * + * @access private + * @since 2.0 + * @author Han-Kwang Nienhuys modified + * @copyright Han-Kwang Neinhuys + * + */ + function distortedCopy() + { + $numpoles = 3; // distortion factor + + // make array of poles AKA attractor points + for ($i = 0; $i < $numpoles; ++$i) { + $px[$i] = rand($this->image_width * 0.3, $this->image_width * 0.7); + $py[$i] = rand($this->image_height * 0.3, $this->image_height * 0.7); + $rad[$i] = rand($this->image_width * 0.4, $this->image_width * 0.7); + $tmp = -$this->frand() * 0.15 - 0.15; + $amp[$i] = $this->perturbation * $tmp; + } + + $bgCol = imagecolorat($this->tmpimg, 0, 0); + $width2 = $this->iscale * $this->image_width; + $height2 = $this->iscale * $this->image_height; + + imagepalettecopy($this->im, $this->tmpimg); // copy palette to final image so text colors come across + + // loop over $img pixels, take pixels from $tmpimg with distortion field + for ($ix = 0; $ix < $this->image_width; ++$ix) { + for ($iy = 0; $iy < $this->image_height; ++$iy) { + $x = $ix; + $y = $iy; + + for ($i = 0; $i < $numpoles; ++$i) { + $dx = $ix - $px[$i]; + $dy = $iy - $py[$i]; + if ($dx == 0 && $dy == 0) continue; + + $r = sqrt($dx * $dx + $dy * $dy); + if ($r > $rad[$i]) continue; + + $rscale = $amp[$i] * sin(3.14 * $r / $rad[$i]); + $x += $dx * $rscale; + $y += $dy * $rscale; + } + + $c = $bgCol; + $x *= $this->iscale; + $y *= $this->iscale; + + if ($x >= 0 && $x < $width2 && $y >= 0 && $y < $height2) { + $c = imagecolorat($this->tmpimg, $x, $y); + } + + if ($c != $bgCol) { // only copy pixels of letters to preserve any background image + imagesetpixel($this->im, $ix, $iy, $c); + } + } + } + } + + /** + * Create a code and save to the session + * + * @access private + * @since 1.0.1 + * + */ + function createCode() + { + $this->code = false; + + if ($this->use_wordlist && is_readable($this->wordlist_file)) { + $this->code = $this->readCodeFromFile(); + } + + if ($this->code == false) { + $this->code = $this->generateCode($this->code_length); + } + + $this->saveData(); + } + + /** + * Generate a code + * + * @access private + * @param int $len The code length + * @return string + */ + function generateCode($len) + { + $code = ''; + + for($i = 1, $cslen = strlen($this->charset); $i <= $len; ++$i) { + $code .= $this->charset{rand(0, $cslen - 1)}; + } + return $code; + } + + /** + * Reads a word list file to get a code + * + * @access private + * @since 1.0.2 + * @return mixed false on failure, a word on success + */ + function readCodeFromFile() + { + $fp = @fopen($this->wordlist_file, 'rb'); + if (!$fp) return false; + + $fsize = filesize($this->wordlist_file); + if ($fsize < 32) return false; // too small of a list to be effective + + if ($fsize < 128) { + $max = $fsize; // still pretty small but changes the range of seeking + } else { + $max = 128; + } + + fseek($fp, rand(0, $fsize - $max), SEEK_SET); + $data = fread($fp, 128); // read a random 128 bytes from file + fclose($fp); + $data = preg_replace("/\r?\n/", "\n", $data); + + $start = strpos($data, "\n", rand(0, 100)) + 1; // random start position + $end = strpos($data, "\n", $start); // find end of word + + return strtolower(substr($data, $start, $end - $start)); // return substring in 128 bytes + } + + /** + * Output image to the browser + * + * @access private + * + */ + function output() + { + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", false); + header("Pragma: no-cache"); + + switch($this->image_type) + { + case SI_IMAGE_JPEG: + header("Content-Type: image/jpeg"); + imagejpeg($this->im, null, 90); + break; + + case SI_IMAGE_GIF: + header("Content-Type: image/gif"); + imagegif($this->im); + break; + + default: + header("Content-Type: image/png"); + imagepng($this->im); + break; + } + + imagedestroy($this->im); + exit; + } + + /** + * Get WAV or MP3 file data of the spoken code.<br /> + * This is appropriate for output to the browser as audio/x-wav or audio/mpeg + * + * @since 1.0.1 + * @return string WAV or MP3 data + * + */ + function getAudibleCode($format = 'wav') + { + $letters = array(); + $code = $this->getCode(); + + if ($code == '') { + $this->createCode(); + $code = $this->getCode(); + } + + for($i = 0; $i < strlen($code); ++$i) { + $letters[] = $code{$i}; + } + + if ($format == 'mp3') { + return $this->generateMP3($letters); + } else { + return $this->generateWAV($letters); + } + } + + /** + * Set the path to the audio directory.<br /> + * + * @since 1.0.4 + * @return bool true if the directory exists and is readble, false if not + */ + function setAudioPath($audio_directory) + { + if (is_dir($audio_directory) && is_readable($audio_directory)) { + $this->audio_path = $audio_directory; + return true; + } else { + return false; + } + } + + /** + * Save the code in the session + * + * @access private + * + */ + function saveData() + { + $_SESSION['securimage_code_value'] = strtolower($this->code); + $_SESSION['securimage_code_ctime'] = time(); + + $this->saveCodeToDatabase(); + } + + /** + * Validate the code to the user code + * + * @access private + * + */ + function validate() + { + // retrieve code from session, if no code exists check sqlite database if supported. + + if (isset($_SESSION['securimage_code_value']) && trim($_SESSION['securimage_code_value']) != '') { + if ($this->isCodeExpired($_SESSION['securimage_code_ctime']) == false) { + $code = $_SESSION['securimage_code_value']; + } + } else if ($this->use_sqlite_db == true && function_exists('sqlite_open')) { // no code in session - may mean user has cookies turned off + $this->openDatabase(); + $code = $this->getCodeFromDatabase(); + } else { + // session code invalid or non-existant and code not found in sqlite db or sqlite is not available + $code = ''; + } + + $code = trim(strtolower($code)); + $code_entered = trim(strtolower($this->code_entered)); + $this->correct_code = false; + + if ($code != '') { + if ($code == $code_entered) { + $this->correct_code = true; + $_SESSION['securimage_code_value'] = ''; + $_SESSION['securimage_code_ctime'] = ''; + $this->clearCodeFromDatabase(); + } + } + } + + /** + * Get the captcha code + * + * @since 1.0.1 + * @return string + */ + function getCode() + { + if (isset($_SESSION['securimage_code_value']) && !empty($_SESSION['securimage_code_value'])) { + return strtolower($_SESSION['securimage_code_value']); + } else { + if ($this->sqlite_handle == false) $this->openDatabase(); + + return $this->getCodeFromDatabase(); // attempt to get from database, returns empty string if sqlite is not available or disabled + } + } + + /** + * Check if the user entered code was correct + * + * @access private + * @return boolean + */ + function checkCode() + { + return $this->correct_code; + } + + /** + * Generate a wav file by concatenating individual files + * + * @since 1.0.1 + * @access private + * @param array $letters Array of letters to build a file from + * @return string WAV file data + */ + function generateWAV($letters) + { + $data_len = 0; + $files = array(); + $out_data = ''; + + foreach ($letters as $letter) { + $filename = $this->audio_path . strtoupper($letter) . '.wav'; + + $fp = fopen($filename, 'rb'); + + $file = array(); + + $data = fread($fp, filesize($filename)); // read file in + + $header = substr($data, 0, 36); + $body = substr($data, 44); + + + $data = unpack('NChunkID/VChunkSize/NFormat/NSubChunk1ID/VSubChunk1Size/vAudioFormat/vNumChannels/VSampleRate/VByteRate/vBlockAlign/vBitsPerSample', $header); + + $file['sub_chunk1_id'] = $data['SubChunk1ID']; + $file['bits_per_sample'] = $data['BitsPerSample']; + $file['channels'] = $data['NumChannels']; + $file['format'] = $data['AudioFormat']; + $file['sample_rate'] = $data['SampleRate']; + $file['size'] = $data['ChunkSize'] + 8; + $file['data'] = $body; + + if ( ($p = strpos($file['data'], 'LIST')) !== false) { + // If the LIST data is not at the end of the file, this will probably break your sound file + $info = substr($file['data'], $p + 4, 8); + $data = unpack('Vlength/Vjunk', $info); + $file['data'] = substr($file['data'], 0, $p); + $file['size'] = $file['size'] - (strlen($file['data']) - $p); + } + + $files[] = $file; + $data = null; + $header = null; + $body = null; + + $data_len += strlen($file['data']); + + fclose($fp); + } + + $out_data = ''; + for($i = 0; $i < sizeof($files); ++$i) { + if ($i == 0) { // output header + $out_data .= pack('C4VC8', ord('R'), ord('I'), ord('F'), ord('F'), $data_len + 36, ord('W'), ord('A'), ord('V'), ord('E'), ord('f'), ord('m'), ord('t'), ord(' ')); + + $out_data .= pack('VvvVVvv', + 16, + $files[$i]['format'], + $files[$i]['channels'], + $files[$i]['sample_rate'], + $files[$i]['sample_rate'] * (($files[$i]['bits_per_sample'] * $files[$i]['channels']) / 8), + ($files[$i]['bits_per_sample'] * $files[$i]['channels']) / 8, + $files[$i]['bits_per_sample'] ); + + $out_data .= pack('C4', ord('d'), ord('a'), ord('t'), ord('a')); + + $out_data .= pack('V', $data_len); + } + + $out_data .= $files[$i]['data']; + } + + $this->scrambleAudioData($out_data, 'wav'); + return $out_data; + } + + /** + * Randomly modify the audio data to scramble sound and prevent binary recognition.<br /> + * Take care not to "break" the audio file by leaving the header data intact. + * + * @since 2.0 + * @access private + * @param $data Sound data in mp3 of wav format + */ + function scrambleAudioData(&$data, $format) + { + if ($format == 'wav') { + $start = strpos($data, 'data') + 4; // look for "data" indicator + if ($start === false) $start = 44; // if not found assume 44 byte header + } else { // mp3 + $start = 4; // 4 byte (32 bit) frame header + } + + $start += rand(1, 64); // randomize starting offset + $datalen = strlen($data) - $start - 256; // leave last 256 bytes unchanged + + for ($i = $start; $i < $datalen; $i += 64) { + $ch = ord($data{$i}); + if ($ch < 9 || $ch > 119) continue; + + $data{$i} = chr($ch + rand(-8, 8)); + } + } + + /** + * Generate an mp3 file by concatenating individual files + * @since 1.0.4 + * @access private + * @param array $letters Array of letters to build a file from + * @return string MP3 file data + */ + function generateMP3($letters) + { + $data_len = 0; + $files = array(); + $out_data = ''; + + foreach ($letters as $letter) { + $filename = $this->audio_path . strtoupper($letter) . '.mp3'; + + $fp = fopen($filename, 'rb'); + $data = fread($fp, filesize($filename)); // read file in + + $this->scrambleAudioData($data, 'mp3'); + $out_data .= $data; + + fclose($fp); + } + + + return $out_data; + } + + /** + * Generate random number less than 1 + * @since 2.0 + * @access private + * @return float + */ + function frand() + { + return 0.0001*rand(0,9999); + } + + /** + * Print signature text on image + * + * @since 2.0 + * @access private + * + */ + function addSignature() + { + if ($this->use_gd_font) { + imagestring($this->im, 5, $this->image_width - (strlen($this->image_signature) * 10), $this->image_height - 20, $this->image_signature, $this->gdsignaturecolor); + } else { + + $bbox = imagettfbbox(10, 0, $this->signature_font, $this->image_signature); + $textlen = $bbox[2] - $bbox[0]; + $x = $this->image_width - $textlen - 5; + $y = $this->image_height - 3; + + imagettftext($this->im, 10, 0, $x, $y, $this->gdsignaturecolor, $this->signature_font, $this->image_signature); + } + } + + /** + * Get hashed IP address of remote user + * + * @access private + * @since 2.0.1 + * @return string + */ + function getIPHash() + { + return strtolower(md5($_SERVER['REMOTE_ADDR'])); + } + + /** + * Open SQLite database + * + * @access private + * @since 2.0.1 + * @return bool true if database was opened successfully + */ + function openDatabase() + { + $this->sqlite_handle = false; + + if ($this->use_sqlite_db && function_exists('sqlite_open')) { + $this->sqlite_handle = sqlite_open($this->sqlite_database, 0666, $error); + + if ($this->sqlite_handle !== false) { + $res = sqlite_query($this->sqlite_handle, "PRAGMA table_info(codes)"); + if (sqlite_num_rows($res) == 0) { + sqlite_query($this->sqlite_handle, "CREATE TABLE codes (iphash VARCHAR(32) PRIMARY KEY, code VARCHAR(32) NOT NULL, created INTEGER)"); + } + } + + return $this->sqlite_handle != false; + } + + return $this->sqlite_handle; + } + + /** + * Save captcha code to sqlite database + * + * @access private + * @since 2.0.1 + * @return bool true if code was saved, false if not + */ + function saveCodeToDatabase() + { + $success = false; + + $this->openDatabase(); + + if ($this->use_sqlite_db && $this->sqlite_handle !== false) { + $ip = $this->getIPHash(); + $time = time(); + $code = $_SESSION['securimage_code_value']; // hash code for security - if cookies are disabled the session still exists at this point + $success = sqlite_query($this->sqlite_handle, "INSERT OR REPLACE INTO codes(iphash, code, created) VALUES('$ip', '$code', $time)"); + } + + return $success !== false; + } + + /** + * Get stored captcha code from sqlite database based on ip address hash + * + * @access private + * @since 2.0.1 + * @return string captcha code + */ + function getCodeFromDatabase() + { + $code = ''; + + if ($this->use_sqlite_db && $this->sqlite_handle !== false) { + $ip = $this->getIPHash(); + + $res = sqlite_query($this->sqlite_handle, "SELECT * FROM codes WHERE iphash = '$ip'"); + if ($res && sqlite_num_rows($res) > 0) { + $res = sqlite_fetch_array($res); + + if ($this->isCodeExpired($res['created']) == false) { + $code = $res['code']; + } + } + } + + return $code; + } + + /** + * Delete a code from the database by ip address hash + * + * @access private + * @since 2.0.1 + */ + function clearCodeFromDatabase() + { + if ($this->sqlite_handle !== false) { + $ip = $this->getIPHash(); + + sqlite_query($this->sqlite_handle, "DELETE FROM codes WHERE iphash = '$ip'"); + } + } + + /** + * Purge codes over a day old from database + * + * @access private + * @since 2.0.1 + */ + function purgeOldCodesFromDatabase() + { + if ($this->use_sqlite_db && $this->sqlite_handle !== false) { + $now = time(); + $limit = (!is_numeric($this->expiry_time) || $this->expiry_time < 1) ? 86400 : $this->expiry_time; + + sqlite_query($this->sqlite_handle, "DELETE FROM codes WHERE $now - created > $limit"); + } + } + + /** + * Check a code to see if it is expired based on creation time + * + * @access private + * @since 2.0.1 + * @param $creation_time unix timestamp of code creation time + * @return bool true if code has expired, false if not + */ + function isCodeExpired($creation_time) + { + $expired = true; + + if (!is_numeric($this->expiry_time) || $this->expiry_time < 1) { + $expired = false; + } else if (time() - $creation_time < $this->expiry_time) { + $expired = false; + } + + return $expired; + } + +} /* class Securimage */ + + +/** + * Color object for Securimage CAPTCHA + * + * @since 2.0 + * @package Securimage + * @subpackage classes + * + */ +class Securimage_Color { + /** + * Red component: 0-255 + * + * @var int + */ + var $r; + /** + * Green component: 0-255 + * + * @var int + */ + var $g; + /** + * Blue component: 0-255 + * + * @var int + */ + var $b; + + /** + * Create a new Securimage_Color object.<br /> + * Specify the red, green, and blue components using their HTML hex code equivalent.<br /> + * Example: The code for the HTML color #4A203C is:<br /> + * $color = new Securimage_Color(0x4A, 0x20, 0x3C); + * + * @param $red Red component 0-255 + * @param $green Green component 0-255 + * @param $blue Blue component 0-255 + */ + function Securimage_Color($red, $green = null, $blue = null) + { + if ($green == null && $blue == null && preg_match('/^#[a-f0-9]{3,6}$/i', $red)) { + $col = substr($red, 1); + if (strlen($col) == 3) { + $red = str_repeat(substr($col, 0, 1), 2); + $green = str_repeat(substr($col, 1, 1), 2); + $blue = str_repeat(substr($col, 2, 1), 2); + } else { + $red = substr($col, 0, 2); + $green = substr($col, 2, 2); + $blue = substr($col, 4, 2); + } + + $red = hexdec($red); + $green = hexdec($green); + $blue = hexdec($blue); + } else { + if ($red < 0) $red = 0; + if ($red > 255) $red = 255; + if ($green < 0) $green = 0; + if ($green > 255) $green = 255; + if ($blue < 0) $blue = 0; + if ($blue > 255) $blue = 255; + } + + $this->r = $red; + $this->g = $green; + $this->b = $blue; + } +} diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.php new file mode 100644 index 000000000..1f369bcb3 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.php @@ -0,0 +1,43 @@ +<?php + +/** + * Project: Securimage: A PHP class for creating and managing form CAPTCHA images<br /> + * File: securimage_play.php<br /> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or any later version.<br /><br /> + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details.<br /><br /> + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br /><br /> + * + * Any modifications to the library should be indicated clearly in the source code + * to inform users that the changes are not a part of the original software.<br /><br /> + * + * If you found this script useful, please take a quick moment to rate it.<br /> + * http://www.hotscripts.com/rate/49400.html Thanks. + * + * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA + * @link http://www.phpcaptcha.org/latest.zip Download Latest Version + * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation + * @copyright 2009 Drew Phillips + * @author drew010 <drew@drew-phillips.com> + * @version 2.0.1 BETA (December 6th, 2009) + * @package Securimage + * + */ + +include 'securimage.php'; + +$img = new Securimage(); +$img->audio_format = (isset($_GET['format']) && in_array(strtolower($_GET['format']), array('mp3', 'wav')) ? strtolower($_GET['format']) : 'mp3'); +//$img->setAudioPath('/path/to/securimage/audio/'); + +$img->outputAudioFile(); diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.swf b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_play.swf new file mode 100644 index 0000000000000000000000000000000000000000..d1718b7355c4e8d6a03d2caab2224e9a3c862b24 GIT binary patch literal 3102 zcmZ<`59TxwVPL43Ggl%vC;IBwdC#Ah&!7MH$j>67=erB-X0;vh%xrYX3{uY%nq+k) z)4NgS{mr^_)kiD&zIkVw-(Xs-Yp_c+%uLH6D^X!f=7LNQ=UYphzOynf+0yKJxh>=$ zqj3GQ%=&G5*57S!`+9L*ihERj{<`h+JD&?{|C(Gf@p!?dC^wI1dS}Z7gYCO^RqZ>~ zt1uzL$@I!IJEwEubz!GCe*Ey@?~~a$@3i%N#zz-;gF9wM-ktHBKmCi!{uUO0t+h|K z$bH?AHN!H~X!Dd{cZoM!j&;qM6>;hn_o+Qr+h>IJom;qN$7z#iYKMz!<Ek@*&Kpk4 zHY$z?Kb%>+v98&bxz+XDk3V;uoIFyevTi*;JNRs@*Q0$ubJ9+FbanKq8oBvhx!IBQ zuJWo(X#bn=OWs+$$!C32rl|aqzqYw^%dPV!d9UxCxbwATWp2gl6v?C|YkRLp=Wosp z|NS;o`|Qk_u3yd=uY7TA%f1E6N_+meNnPXeI29Ch{>;)ZTV9>nxOUgu3%V;jV+)Vz zcuCC-oh<goH$_bB@~V|l66>XRX&y1G<L2yiP1Bp`nZD^>h1%?p&1RRj^Sv&Axl{8C z^LM}URHMvL!<_H=C5d0&vbwIAA9XN%^1MA=>|d6w?Cjh!ZwLS6wpE`JMT*>v)-1K1 z7M$p7$YZLzBsBTnl_-<TF)}aShEAHf<5u&%?|etMef!q#bi4Yoch#*cyow7oZz>8$ zwcZJ`Nl!cKsyaLPc!Z-~T4}K8^UbFgEmJRg^v*`%rsAw{W9~ysnnJ5vj(a{{cI=c; zWT;`Nh|jBt#k-B%ZCERQy;!8>)ALqR^44p|qpK#(3GvmPT;jvaJN@X@%DWmKZeL1n z%|4^W|0ebJ&DCl?fu4`HeJQz=nkK3|{Zxv$*C8FJ%dRFH`AVZEHYqnPd-Zu1r~A?$ zlQPqKPWl9W)!X2==}KzoVwO<%2&SaYHTyESF8)w7iOAY|!(dx~lA4L>YuRnqC!bAA zEV!~}lEK%*t9(DMf81`|)~UKI?e1quW8)N+$YYgZ^YW~Dy_d~97kVQwM2ORL`sK$} zQRe+(QFgP>rWC7IKH-ouo>H=J`Nkl@^E-3S1f1O?@$A%roO9wAc~-y7sSEW>Or3r9 z^?BK|GhaE`^{Pn;<Q90I58wYZ;ogynttDS~Jx*CrF(+i*^4nj9V*Kw|82P?#-6wKk z*ZP2<{oi6_cBlpWt)9=_*q?ajXhBI)R#HmUk@l6_mZ+E9v9nTqd)s<r_}+TYvooKD zz1~n3wE2u@59j$?^U~A2lP=a)w>{^o%DDB;D!n2}r-t2jP4c%JFB2arDn~wM46DuK zmf6Y`u&Hmtn;8>N?Rf0&do?S@R5S8J$+3`2*X5qucHdIEFV*St<642mneA;(iX5Id zW<{*h`EO#EU)nHZ{%<aa{kQFObdGFhdl%g;vP8!}_RWh;C+_`e6h4;{S(B8*?wnbB zPhk1t;9_CriJ8j}T@dOP_SVRpx^>D9bt`dhe&3!QMXW)y<^MF@e_DRMVs)%(sHv$b z@4vLd+4b#{Ejs__{kQ#B{nz+k<o`MG-?abjuz%?PE42QUy?h2o2BU3(MnSxSYy`)V z9b)=ZELh4{_Uk`BrEL?GI(7f9Wo7~4@3S&;vhr?Tk-DN;AR;4D!R2=<@Kom&#lU;c z3tPCBiqwdl(wGvwVnLsm){m8oXK`%};Rsl<xUY(<S7g?TD^7{Rtzle_T)85*G)n?r zEZH#ANnCVWz>8%C%&l@<dqtc?erbFO&eU#|URiBjdf(@v*eU*i9aBGT4?O=?q%25c ziGj<{Sdl|h<d+#ZDLN&Zw+3=0UorN3$j2otqNe#~p}<lD*N1*w)tW~%%zb~>PPy;@ zlUd~5qJj&deCv1uB9;``uRRl_>3(p@2A78ht;!;OK|k19^MfibJY^1-^s;k#7%j5T z_o2iU#;5!HmjwT)<a)Tg@E>EHpR?`mHiieaE+rpqj&H12vG^oD<^OZW_Q||VO?^xS zd)t>U>Tp%ualvk4!-qVDIqdIU;@mVCnU*f{=;W?(IARni;;Gr6G_OeE9+!gZRG&3o zBC#p~Pt&h!rTkjWxl(bf!zv~Rtyc{p*Nj)P9m`8`7M7mHnW?y9S(WgFTVZaTn-=!+ zzRh{T5Y(rZWi|6bn$xZev0itU^n74y6Sxqf$^Rlkl0QZ^<l}=C$31qb9QVrDF6wkr zcYTZAvTZCUU&lTbQk<>N=D9?ASN^X|%Q#VeHpL=lncp3p7Fyd4m>%DH9C<9(x-ffL zvi#XEF+9JNZ0~4Td3mdRXWt++>!s{_)zf=pIm5NK+?hTh?bq?&CyVM2$v%1XsJrm_ z&X_~VjXPV+-*Ilz*3Pqh*tuIjZqoK;c|1k>te)W|vyJsm-VQcDJLO2L2j>Hq!dvHA z7jm;-+SXNYNB91mU8+_JM^s~qJ_g;9-n(_j8~<-w|5k?`om;4$r}nPq;~mxNuIhl+ zH(k3IZD({luV|@KE@B>9B>45oKb`7e>$E)g<XFcYB4744amDWy5qUe4*U_kM_lh@D z_U={K9n^fVt5{#lxiV*ZYipqH`Nk*T*0rRy-`@K0=0v_+mQFu*A@6V}?c@|SA(c%c zy#*d(7Cvdmy*yMuy_;YoHR-t1rwWgK$|~R6QUw3MSK|G)I8bDHc(A^awvd&*V9N`Z z+kM${Is4yi_VtL*X5v!w3cOQ$wS_%kVTYR9;>j$9?@cRCnp(_jp0vB_tX#9gbau;~ zN>YLo-u{kq-_fL;su5Rqbz+hFw8}hHmGWt_N-lYN$Dd6$UwrZAGrqNv>-^uoG+Pw- z!B@yA+BVoY&Us7L&M2{<;G*0wetzrb-PHbl{QDuFHE-wl^?j5OpZhG${PfiutiK&@ z>*Tv#{9DA}nr?l2tDpBn<`n|I;RPAHcqZ>WCuF3hdgl$_mz8m4%lJ;np7E>QT_pa9 zJ-GbwbGe<NeCHbO$T3ckeyYZDTcGEj_974Gk~YniNw@y4*t^;J^_<+i^Rq27W`Ec$ za(z+f%_}l>Po_5ocyb=>v3}DNUcZtpD}wjWZ0Fv8?@}-P*}V2HfAcjf={I#OTOQ;n z&z4G`y=y;n)a9J&?~4~~J#S{P=HRUbZ{4LAZ;$PLlH>K#Ea>AiF8*WJ;~h+;t@wI^ z8|Pe8I>&QrZPW#&IU88^xHbw;YhbktOJVJ<sJr^ub!)HdoJu|OEMKvQosVuEQ(AZP zL3#I@WlHnnzotyQ8h6B0+9oo^RHX1M+y3yBt)hi%eb>D|P$EA?c;%8skLGxt)s}j; zK<v%G`767xO?1j<iSbx-dx3cqUuCd~(jt$$*T1zdz91i}v2XLD-W&Gc&3~}o+Wbvi zL-NS}(CHbS%!gXmgq@4f=U8?^`Tt+%=Nf;yb#$0tS$+Pe_29a!<>soit!v)4X(s;K zdr<a#Q}wIsQ`g&m>VNM3@Zjdg{^Ls{7M1OpCNsb2>8ov)N9F&0{Bc@+{^!04#ru18 z?|zQD+V_0V%<zi~&i^W6D~b_l*xQrPR^Ih~bAE~uSH4j5hkfC8p8M`h+Vk~8YTue? z^Y{OV+xf@llDoa!_Ky7<I`z%%`@eilzb4@St3dbCaerws!&E`f6<OXlY*gz$R=wP9 zY#*OjX|+W)>eIW0o0(_(UA)2ga_)SI(`)_LhWx$s_Z)Z8l23<MKD&JG-E8OomBuBV zTWU;99bV1*QLt)t-pu;s$a|GedpDekwX5B>EAzz+s~;DXO#Z!j=-qbldTAt2ZIMZp zq}%7;C1T%B-u@j^THCkSVUO9>lPi|9s86{6*X#F>-tFsIcAP)5Uo0a(e&ybv=l>ra z@Bf}_c27!0UGnY4a?Z-`DgW2*_`vkt@_V^=#+J{WHgCTlPB-(7IOUdI&31Bf&o{Z~ z=SF!-*{OO3^J7=a?o(KIH8gsjMNQ##wT%fMY|~cBY~FND+dJd<OY`eh`I_7{Rb>-w zPGwxHJ3ra#^(&(nJKpTz(UCk7?&=j^QTFKwyZx^R8xPjZIN~%TL(xaAPfurZXlLxh zHTT1w7^*!~*r%K!_WtgP<gK&+2fCc&e%g`C-m~ugn@EM9+l`heyiU<=G!a>|fz>r= zU(X%WNoPJW^a=ecjyq7?yJhn=g=^eeOIRjcdhBrg#PYD6^FIDjbK%Ng_J)^x>9(TI wuM_{au~mPnTm5V)Z}p}RQao4lj_mt&i?h7Uwz2nKcI02*6aN`hb_V|f0Kld8BLDyZ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_show.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_show.php new file mode 100644 index 000000000..cbb57343d --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/securimage_show.php @@ -0,0 +1,62 @@ +<?php + +/** + * Project: Securimage: A PHP class for creating and managing form CAPTCHA images<br /> + * File: securimage_show.php<br /> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or any later version.<br /><br /> + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details.<br /><br /> + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br /><br /> + * + * Any modifications to the library should be indicated clearly in the source code + * to inform users that the changes are not a part of the original software.<br /><br /> + * + * If you found this script useful, please take a quick moment to rate it.<br /> + * http://www.hotscripts.com/rate/49400.html Thanks. + * + * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA + * @link http://www.phpcaptcha.org/latest.zip Download Latest Version + * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation + * @copyright 2009 Drew Phillips + * @author drew010 <drew@drew-phillips.com> + * @version 2.0.1 BETA (December 6th, 2009) + * @package Securimage + * + */ + +include 'securimage.php'; + +$img = new securimage(); + +// Change some settings + +//$img->image_width = 275; +//$img->image_height = 90; +//$img->perturbation = 0.9; // 1.0 = high distortion, higher numbers = more distortion +//$img->image_bg_color = new Securimage_Color("#0099CC"); +//$img->text_color = new Securimage_Color("#EAEAEA"); +//$img->text_transparency_percentage = 65; // 100 = completely transparent +//$img->num_lines = 8; +//$img->line_color = new Securimage_Color("#0000CC"); +//$img->signature_color = new Securimage_Color(rand(0, 64), rand(64, 128), rand(128, 255)); +//$img->image_type = SI_IMAGE_PNG; + + +//$img->show(); // alternate use: $img->show('/path/to/background_image.jpg'); + + +$img->text_color = new Securimage_Color("#EAEAEA"); +$img->num_lines = 0; +$img->code_length = 4; +$img->draw_lines_over_text = false; +$img->show('backgrounds/bg6.png'); diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/words/index.php b/wp-content/plugins/wp2pgpmail/phpcaptcha/words/index.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/wp2pgpmail/phpcaptcha/words/words.txt b/wp-content/plugins/wp2pgpmail/phpcaptcha/words/words.txt new file mode 100644 index 000000000..308d48fb5 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/phpcaptcha/words/words.txt @@ -0,0 +1,15621 @@ +aahing +aaliis +aarrgh +abacas +abacus +abakas +abamps +abased +abaser +abases +abasia +abated +abater +abates +abatis +abator +abayas +abbacy +abbess +abbeys +abbots +abduce +abduct +abeles +abelia +abhors +abided +abider +abides +abject +abjure +ablate +ablaut +ablaze +ablest +ablins +abloom +ablush +abmhos +aboard +aboded +abodes +abohms +abolla +abomas +aboral +aborts +abound +aboves +abrade +abroad +abrupt +abseil +absent +absorb +absurd +abulia +abulic +abvolt +abwatt +abying +abysms +acacia +acajou +acarid +acarus +accede +accent +accept +access +accord +accost +accrue +accuse +acedia +acetal +acetic +acetin +acetum +acetyl +achene +achier +aching +acidic +acidly +acinar +acinic +acinus +ackees +acnode +acorns +acquit +across +acting +actins +action +active +actors +actual +acuate +acuity +aculei +acumen +acuter +acutes +adages +adagio +adapts +addend +adders +addict +adding +addled +addles +adduce +adduct +adeems +adenyl +adepts +adhere +adieus +adieux +adipic +adjoin +adjure +adjust +admass +admire +admits +admixt +adnate +adnexa +adnoun +adobes +adobos +adonis +adopts +adored +adorer +adores +adorns +adrift +adroit +adsorb +adults +advect +advent +adverb +advert +advice +advise +adytum +adzing +adzuki +aecial +aecium +aedile +aedine +aeneus +aeonic +aerate +aerial +aeried +aerier +aeries +aerify +aerily +aerobe +aerugo +aether +afeard +affair +affect +affine +affirm +afflux +afford +affray +afghan +afield +aflame +afloat +afraid +afreet +afresh +afrits +afters +aftosa +agamas +agamic +agamid +agapae +agapai +agapes +agaric +agates +agaves +agedly +ageing +ageism +ageist +agency +agenda +agenes +agents +aggada +aggers +aggies +aggros +aghast +agings +agisms +agists +agitas +aglare +agleam +aglets +agnail +agnate +agnize +agonal +agones +agonic +agorae +agoras +agorot +agouti +agouty +agrafe +agreed +agrees +agrias +aguish +ahchoo +ahimsa +aholds +ahorse +aiders +aidful +aiding +aidman +aidmen +aiglet +aigret +aikido +ailing +aimers +aimful +aiming +aiolis +airbag +airbus +airers +airest +airier +airily +airing +airman +airmen +airted +airths +airway +aisled +aisles +aivers +ajivas +ajowan +ajugas +akelas +akenes +akimbo +alamos +alands +alanin +alants +alanyl +alarms +alarum +alaska +alated +alates +albata +albedo +albeit +albino +albite +albums +alcade +alcaic +alcids +alcove +alders +aldols +aldose +aldrin +alegar +alephs +alerts +alevin +alexia +alexin +alfaki +algins +algoid +algors +algums +alibis +alible +alidad +aliens +alight +aligns +alined +aliner +alines +aliped +aliyah +aliyas +aliyos +aliyot +alkali +alkane +alkene +alkies +alkine +alkoxy +alkyds +alkyls +alkyne +allays +allees +allege +allele +alleys +allied +allies +allium +allods +allots +allows +alloys +allude +allure +allyls +almahs +almehs +almner +almond +almost +almuce +almude +almuds +almugs +alnico +alodia +alohas +aloins +alpaca +alphas +alphyl +alpine +alsike +altars +alters +althea +aludel +alulae +alular +alumin +alumna +alumni +alvine +always +amadou +amarna +amatol +amazed +amazes +amazon +ambage +ambari +ambary +ambeer +ambers +ambery +ambits +ambled +ambler +ambles +ambush +amebae +ameban +amebas +amebic +ameers +amends +aments +amerce +amices +amicus +amides +amidic +amidin +amidol +amidst +amigas +amigos +amines +aminic +ammine +ammino +ammono +amnion +amnios +amoeba +amoles +amoral +amount +amours +ampere +amping +ampler +ampule +ampuls +amrita +amtrac +amucks +amulet +amused +amuser +amuses +amusia +amylic +amylum +anabas +anadem +analog +ananke +anarch +anatto +anchor +anchos +ancone +andros +anears +aneled +aneles +anemia +anemic +anenst +anergy +angary +angels +angers +angina +angled +angler +angles +anglos +angora +angsts +anilin +animal +animas +animes +animis +animus +anions +anises +anisic +ankled +ankles +anklet +ankush +anlace +anlage +annals +anneal +annexe +annona +annoys +annual +annuli +annuls +anodal +anodes +anodic +anoint +anoles +anomic +anomie +anonym +anopia +anorak +anoxia +anoxic +ansate +answer +anteed +anthem +anther +antiar +antick +antics +anting +antler +antral +antres +antrum +anural +anuran +anuria +anuric +anuses +anvils +anyhow +anyone +anyons +anyway +aorist +aortae +aortal +aortas +aortic +aoudad +apache +apathy +apercu +apexes +aphids +aphtha +apiary +apical +apices +apiece +aplite +aplomb +apneal +apneas +apneic +apnoea +apodal +apogee +apollo +apolog +aporia +appall +appals +appeal +appear +appels +append +apples +applet +appose +aprons +aptest +arabic +arable +arames +aramid +arbors +arbour +arbute +arcade +arcana +arcane +arched +archer +arches +archil +archly +archon +arcing +arcked +arctic +ardebs +ardent +ardors +ardour +arecas +arenas +arenes +areola +areole +arepas +aretes +argala +argali +argals +argent +argils +argled +argles +argols +argons +argosy +argots +argued +arguer +argues +argufy +argyle +argyll +arhats +ariary +arider +aridly +ariels +aright +ariled +ariose +ariosi +arioso +arisen +arises +arista +aristo +arkose +armada +armers +armets +armful +armies +arming +armlet +armors +armory +armour +armpit +armure +arnica +aroids +aroint +aromas +around +arouse +aroynt +arpens +arpent +arrack +arrant +arrays +arrear +arrest +arriba +arrive +arroba +arrows +arrowy +arroyo +arseno +arshin +arsine +arsino +arsons +artels +artery +artful +artier +artily +artist +asanas +asarum +ascend +ascent +ascots +asdics +ashcan +ashier +ashing +ashlar +ashler +ashman +ashmen +ashore +ashram +asides +askant +askers +asking +aslant +asleep +aslope +aslosh +aspect +aspens +aspers +aspics +aspire +aspish +asrama +assail +assais +assays +assent +assert +assess +assets +assign +assist +assize +assoil +assort +assume +assure +astern +asters +asthma +astony +astral +astray +astute +aswarm +aswirl +aswoon +asylum +atabal +ataman +atavic +ataxia +ataxic +atelic +atlatl +atmans +atolls +atomic +atonal +atoned +atoner +atones +atonia +atonic +atopic +atrial +atrium +attach +attack +attain +attars +attend +attent +attest +attics +attire +attorn +attrit +attune +atwain +atween +atypic +aubade +auburn +aucuba +audads +audial +audile +auding +audios +audits +augend +augers +aughts +augite +augurs +augury +august +auklet +aulder +auntie +auntly +aurate +aureus +aurist +aurora +aurous +aurums +auspex +ausubo +auteur +author +autism +autist +autoed +autumn +auxins +avails +avatar +avaunt +avenge +avenue +averse +averts +avians +aviary +aviate +avidin +avidly +avions +avisos +avocet +avoids +avoset +avouch +avowal +avowed +avower +avulse +awaits +awaked +awaken +awakes +awards +aweary +aweigh +aweing +awhile +awhirl +awless +awmous +awning +awoken +axeman +axemen +axenic +axilla +axioms +axions +axised +axises +axites +axlike +axonal +axones +axonic +axseed +azalea +azides +azines +azlons +azoles +azonal +azonic +azoted +azotes +azoths +azotic +azukis +azures +azygos +baaing +baalim +baases +babble +babels +babied +babier +babies +babkas +babool +baboon +baboos +babuls +baccae +bached +baches +backed +backer +backup +bacons +bacula +badass +badder +baddie +badged +badger +badges +badman +badmen +baffed +baffle +bagels +bagful +bagged +bagger +baggie +bagman +bagmen +bagnio +baguet +bagwig +bailed +bailee +bailer +bailey +bailie +bailor +bairns +baited +baiter +baizas +baizes +bakers +bakery +baking +balata +balboa +balded +balder +baldly +baleen +balers +baling +balked +balker +ballad +balled +baller +ballet +ballon +ballot +ballsy +balsam +balsas +bamboo +bammed +banana +bancos +bandas +banded +bander +bandit +bandog +banged +banger +bangle +banian +baning +banish +banjax +banjos +banked +banker +bankit +banned +banner +bannet +bantam +banter +banyan +banzai +baobab +barbal +barbed +barbel +barber +barbes +barbet +barbie +barbut +barcas +barded +bardes +bardic +barege +barely +barest +barfed +barfly +barged +bargee +barges +barhop +baring +barite +barium +barked +barker +barley +barlow +barman +barmen +barmie +barned +barney +barong +barons +barony +barque +barred +barrel +barren +barres +barret +barrio +barrow +barter +baryes +baryon +baryta +baryte +basalt +basely +basest +bashaw +bashed +basher +bashes +basics +basify +basils +basing +basins +basion +basked +basket +basque +basted +baster +bastes +batboy +bateau +bathed +bather +bathes +bathos +batiks +bating +batman +batmen +batons +batted +batten +batter +battik +battle +battue +baubee +bauble +baulks +baulky +bawbee +bawdry +bawled +bawler +bawtie +bayamo +bayard +baying +bayman +baymen +bayous +bazaar +bazars +bazoos +beachy +beacon +beaded +beader +beadle +beagle +beaked +beaker +beamed +beaned +beanie +beanos +beards +bearer +beaten +beater +beauts +beauty +bebops +becalm +became +becaps +becked +becket +beckon +beclog +become +bedamn +bedaub +bedbug +bedded +bedder +bedeck +bedell +bedels +bedews +bedims +bedlam +bedpan +bedrid +bedrug +bedsit +beduin +bedumb +beebee +beechy +beefed +beeped +beeper +beetle +beeves +beezer +befall +befell +befits +beflag +beflea +befogs +befool +before +befoul +befret +begall +begaze +begets +beggar +begged +begins +begird +begirt +beglad +begone +begrim +begulf +begums +behalf +behave +behead +beheld +behest +behind +behold +behoof +behove +behowl +beiges +beigne +beings +bekiss +beknot +belady +belaud +belays +beldam +beleap +belfry +belgas +belied +belief +belier +belies +belike +belive +belled +belles +bellow +belong +belons +belows +belted +belter +beluga +bemata +bemean +bemire +bemist +bemixt +bemoan +bemock +bemuse +bename +benday +bended +bendee +bender +bendys +benign +bennes +bennet +bennis +bentos +benumb +benzal +benzin +benzol +benzyl +berake +berate +bereft +berets +berime +berlin +bermed +bermes +bertha +berths +beryls +beseem +besets +beside +besmut +besnow +besoms +besots +bested +bestir +bestow +bestud +betake +betels +bethel +betide +betime +betise +betons +betony +betook +betray +bettas +betted +better +bettor +bevels +bevies +bevors +bewail +beware +beweep +bewept +bewigs +beworm +bewrap +bewray +beylic +beylik +beyond +bezant +bezazz +bezels +bezils +bezoar +bhakta +bhakti +bhangs +bharal +bhoots +bialis +bialys +biased +biases +biaxal +bibbed +bibber +bibles +bicarb +biceps +bicker +bicorn +bicron +bidden +bidder +biders +bidets +biding +bields +biface +biffed +biffin +biflex +bifold +biform +bigamy +bigeye +bigger +biggie +biggin +bights +bigots +bigwig +bijous +bijoux +bikers +bikies +biking +bikini +bilboa +bilbos +bilged +bilges +bilked +bilker +billed +biller +billet +billie +billon +billow +bimahs +bimbos +binary +binate +binder +bindis +bindle +biners +binged +binger +binges +bingos +binits +binned +binocs +biogas +biogen +biomes +bionic +bionts +biopic +biopsy +biotas +biotic +biotin +bipack +bipeds +bipods +birded +birder +birdie +bireme +birkie +birled +birler +birles +birred +birses +births +bisect +bishop +bisons +bisque +bister +bistre +bistro +bitchy +biters +biting +bitmap +bitted +bitten +bitter +bizone +bizzes +blabby +blacks +bladed +blader +blades +blaffs +blains +blamed +blamer +blames +blanch +blanks +blared +blares +blasts +blasty +blawed +blazed +blazer +blazes +blazon +bleach +bleaks +blears +bleary +bleats +blebby +bleeds +bleeps +blench +blende +blends +blenny +blight +blimey +blimps +blinds +blinis +blinks +blintz +blites +blithe +bloats +blocks +blocky +blokes +blonde +blonds +bloods +bloody +blooey +blooie +blooms +bloomy +bloops +blotch +blotto +blotty +blouse +blousy +blowby +blowed +blower +blowsy +blowup +blowzy +bludge +bluely +bluest +bluesy +bluets +blueys +bluffs +bluing +bluish +blumed +blumes +blunge +blunts +blurbs +blurry +blurts +blypes +boards +boarts +boasts +boated +boatel +boater +bobbed +bobber +bobbin +bobble +bobcat +bocces +boccia +boccie +boccis +boches +bodega +bodice +bodied +bodies +bodily +boding +bodkin +boffed +boffin +boffos +bogans +bogart +bogeys +bogged +boggle +bogies +bogles +boheas +bohunk +boiled +boiler +boings +boinks +boites +bolder +boldly +bolero +bolete +boleti +bolide +bolled +bollix +bollox +bolshy +bolson +bolted +bolter +bombax +bombed +bomber +bombes +bombyx +bonaci +bonbon +bonded +bonder +bonduc +boners +bonged +bongos +bonier +boning +bonita +bonito +bonked +bonnes +bonnet +bonnie +bonobo +bonsai +bonzer +bonzes +boobed +boobie +booboo +boocoo +boodle +booger +boogey +boogie +boohoo +booing +boojum +booked +booker +bookie +bookoo +boomed +boomer +boosts +booted +bootee +booths +bootie +boozed +boozer +boozes +bopeep +bopped +bopper +borage +borals +borane +borate +bordel +border +boreal +boreas +boreen +borers +boride +boring +borked +borons +borrow +borsch +borsht +borzoi +boshes +bosker +bosket +bosoms +bosomy +bosons +bosque +bossed +bosses +boston +bosuns +botany +botchy +botels +botfly +bother +bottle +bottom +boubou +boucle +boudin +bouffe +boughs +bought +bougie +boules +boulle +bounce +bouncy +bounds +bounty +bourgs +bourne +bourns +bourse +boused +bouses +bouton +bovids +bovine +bowers +bowery +bowfin +bowing +bowled +bowleg +bowler +bowman +bowmen +bowpot +bowsed +bowses +bowwow +bowyer +boxcar +boxers +boxful +boxier +boxily +boxing +boyard +boyars +boyish +boylas +braced +bracer +braces +brachs +bracts +braggy +brahma +braids +brails +brains +brainy +braise +braize +braked +brakes +branch +brands +brandy +branks +branny +brants +brashy +brasil +brassy +bratty +bravas +braved +braver +braves +bravos +brawer +brawls +brawly +brawns +brawny +brayed +brayer +brazas +brazed +brazen +brazer +brazes +brazil +breach +breads +bready +breaks +breams +breath +bredes +breech +breeds +breeks +breeze +breezy +bregma +brents +breves +brevet +brewed +brewer +brewis +briard +briars +briary +bribed +bribee +briber +bribes +bricks +bricky +bridal +brides +bridge +bridle +briefs +briers +briery +bright +brillo +brills +brined +briner +brines +brings +brinks +briony +brises +brisks +briths +britts +broach +broads +broche +brocks +brogan +brogue +broils +broken +broker +brolly +bromal +bromes +bromic +bromid +bromin +bromos +bronco +broncs +bronze +bronzy +brooch +broods +broody +brooks +brooms +broomy +broses +broths +brothy +browed +browns +browny +browse +brucin +brughs +bruins +bruise +bruits +brulot +brumal +brumby +brumes +brunch +brunet +brunts +brushy +brutal +bruted +brutes +bruxed +bruxes +bryony +bubale +bubals +bubbas +bubble +bubbly +bubkes +buboed +buboes +buccal +bucked +bucker +bucket +buckle +buckos +buckra +budded +budder +buddha +buddle +budged +budger +budges +budget +budgie +buffed +buffer +buffet +buffos +bugeye +bugged +bugger +bugled +bugler +bugles +bugout +bugsha +builds +bulbar +bulbed +bulbel +bulbil +bulbul +bulged +bulger +bulges +bulgur +bulked +bullae +bulled +bullet +bumble +bumkin +bummed +bummer +bumped +bumper +bumphs +bunchy +buncos +bundle +bundts +bunged +bungee +bungle +bunion +bunked +bunker +bunkos +bunkum +bunted +bunter +bunyas +buoyed +bupkes +bupkus +buppie +buqsha +burans +burble +burbly +burbot +burden +burdie +bureau +burets +burgee +burger +burghs +burgle +burgoo +burial +buried +burier +buries +burins +burkas +burked +burker +burkes +burlap +burled +burler +burley +burned +burner +burnet +burnie +burped +burqas +burred +burrer +burros +burrow +bursae +bursal +bursar +bursas +burses +bursts +burton +busbar +busboy +bushed +bushel +busher +bushes +bushwa +busied +busier +busies +busily +busing +busked +busker +buskin +busman +busmen +bussed +busses +busted +buster +bustic +bustle +butane +butene +buteos +butled +butler +butles +butted +butter +buttes +button +bututs +butyls +buyers +buying +buyoff +buyout +buzuki +buzzed +buzzer +buzzes +bwanas +byelaw +bygone +bylaws +byline +byname +bypass +bypast +bypath +byplay +byrled +byrnie +byroad +byssal +byssus +bytalk +byways +byword +bywork +byzant +cabala +cabals +cabana +cabbed +cabbie +cabers +cabins +cabled +cabler +cables +cablet +cabman +cabmen +cabobs +cacaos +cached +caches +cachet +cachou +cackle +cactus +caddie +caddis +cadent +cadets +cadged +cadger +cadges +cadmic +cadres +caecal +caecum +caeoma +caesar +caftan +cagers +cagier +cagily +caging +cahier +cahoot +cahows +caiman +caique +cairds +cairns +cairny +cajole +cakier +caking +calami +calash +calcar +calces +calcic +calesa +calico +califs +caliph +calked +calker +calkin +callan +callas +called +callee +caller +callet +callow +callus +calmed +calmer +calmly +calory +calpac +calque +calved +calves +calxes +camail +camber +cambia +camels +cameos +camera +camion +camisa +camise +camlet +cammie +camped +camper +campos +campus +canals +canape +canard +canary +cancan +cancel +cancer +cancha +candid +candle +candor +caners +canful +cangue +canids +canine +caning +canker +cannas +canned +cannel +canner +cannie +cannon +cannot +canoed +canoer +canoes +canola +canons +canopy +cansos +cantal +canted +canter +canthi +cantic +cantle +canton +cantor +cantos +cantus +canula +canvas +canyon +capers +capful +capias +capita +caplet +caplin +capons +capote +capped +capper +capric +capris +capsid +captan +captor +carack +carafe +carate +carats +carbon +carbos +carboy +carcel +carded +carder +cardia +cardio +cardon +careen +career +carers +caress +carets +carful +cargos +carhop +caribe +caried +caries +carina +caring +carked +carles +carlin +carman +carmen +carnal +carnet +carney +carnie +carobs +caroch +caroli +carols +caroms +carpal +carped +carpel +carper +carpet +carpus +carrel +carrom +carrot +carses +carted +cartel +carter +cartes +carton +cartop +carved +carvel +carven +carver +carves +casaba +casava +casbah +casefy +caseic +casein +casern +cashaw +cashed +cashes +cashew +cashoo +casing +casini +casino +casita +casked +casket +casque +caster +castes +castle +castor +casual +catalo +catchy +catena +caters +catgut +cation +catkin +catlin +catnap +catnip +catsup +catted +cattie +cattle +caucus +caudad +caudal +caudex +caudle +caught +caulds +caules +caulis +caulks +causal +caused +causer +causes +causey +caveat +cavern +cavers +caviar +cavies +cavils +caving +cavity +cavort +cawing +cayman +cayuse +ceased +ceases +cebids +ceboid +cecity +cedarn +cedars +cedary +ceders +ceding +cedula +ceibas +ceiled +ceiler +ceilis +celebs +celery +celiac +cellae +cellar +celled +cellos +celoms +cement +cenote +censed +censer +censes +censor +census +centai +cental +centas +center +centos +centra +centre +centum +ceorls +cerate +cercal +cercis +cercus +cereal +cereus +cerias +cering +ceriph +cerise +cerite +cerium +cermet +cerous +certes +ceruse +cervid +cervix +cesium +cessed +cesses +cestas +cestoi +cestos +cestus +cesura +cetane +chabuk +chacma +chadar +chador +chadri +chaeta +chafed +chafer +chafes +chaffs +chaffy +chaine +chains +chairs +chaise +chakra +chalah +chaleh +chalet +chalks +chalky +challa +chally +chalot +chammy +champs +champy +chance +chancy +change +changs +chants +chanty +chapel +chapes +charas +chards +chared +chares +charge +charka +charks +charms +charro +charrs +charry +charts +chased +chaser +chases +chasms +chasmy +chasse +chaste +chatty +chaunt +chawed +chawer +chazan +cheapo +cheaps +cheats +chebec +checks +cheder +cheeks +cheeky +cheeps +cheero +cheers +cheery +cheese +cheesy +chefed +chegoe +chelae +chelas +chemic +chemos +cheque +cherry +cherts +cherty +cherub +chests +chesty +chetah +cheths +chevre +chewed +chewer +chiasm +chiaus +chicas +chicer +chichi +chicks +chicle +chicly +chicos +chided +chider +chides +chiefs +chield +chiels +chigoe +childe +chiles +chilis +chilli +chills +chilly +chimar +chimbs +chimed +chimer +chimes +chimla +chimps +chinas +chinch +chined +chines +chinks +chinky +chinos +chints +chintz +chippy +chiral +chirks +chirms +chiros +chirps +chirpy +chirre +chirrs +chirus +chisel +chital +chitin +chiton +chitty +chives +chivvy +choana +chocks +choice +choirs +choked +choker +chokes +chokey +cholas +choler +cholla +cholos +chomps +chooks +choose +choosy +chopin +choppy +choral +chords +chorea +chored +chores +choric +chorus +chosen +choses +chotts +chough +chouse +choush +chowed +chowse +chrism +chroma +chrome +chromo +chromy +chubby +chucks +chucky +chufas +chuffs +chuffy +chukar +chukka +chummy +chumps +chunks +chunky +chuppa +church +churls +churns +churro +churrs +chuted +chutes +chyles +chymes +chymic +cibols +cicada +cicala +cicale +cicely +cicero +ciders +cigars +cilice +cilium +cinder +cinema +cineol +cinque +cipher +circle +circus +cirque +cirrus +ciscos +cisted +cistus +citers +cither +citied +cities +citify +citing +citola +citole +citral +citric +citrin +citron +citrus +civets +civics +civies +civism +clachs +clacks +clades +claims +clammy +clamor +clamps +clangs +clanks +clanky +claque +claret +claros +clasps +claspt +classy +clasts +clause +claver +claves +clavus +clawed +clawer +claxon +clayed +clayey +cleans +clears +cleats +cleave +cleeks +clefts +clench +cleome +cleped +clepes +clergy +cleric +clerid +clerks +clever +clevis +clewed +cliche +clicks +client +cliffs +cliffy +clifts +climax +climbs +climes +clinal +clinch +clines +clings +clingy +clinic +clinks +clique +cliquy +clitic +clivia +cloaca +cloaks +cloche +clocks +cloddy +cloggy +clomps +clonal +cloned +cloner +clones +clonic +clonks +clonus +cloots +cloque +closed +closer +closes +closet +clothe +cloths +clotty +clouds +cloudy +clough +clours +clouts +cloven +clover +cloves +clowns +cloyed +clozes +clubby +clucks +cluing +clumps +clumpy +clumsy +clunks +clunky +clutch +clypei +cnidae +coacts +coalas +coaled +coaler +coapts +coarse +coasts +coated +coatee +coater +coatis +coaxal +coaxed +coaxer +coaxes +cobalt +cobber +cobble +cobias +cobles +cobnut +cobras +cobweb +cocain +coccal +coccic +coccid +coccus +coccyx +cochin +cocoas +cocoon +codded +codder +coddle +codecs +codeia +codens +coders +codify +coding +codlin +codons +coedit +coelom +coempt +coerce +coeval +coffee +coffer +coffin +coffle +cogent +cogged +cogito +cognac +cogons +cogway +cohead +coheir +cohere +cohogs +cohort +cohosh +cohost +cohune +coifed +coiffe +coigne +coigns +coiled +coiler +coined +coiner +coital +coitus +cojoin +coking +colbys +colder +coldly +colead +coleus +colics +colies +colins +collar +collet +collie +collop +colobi +cologs +colone +coloni +colons +colony +colors +colour +colter +colugo +column +colure +colzas +comade +comake +comate +combat +combed +comber +combes +combos +comedo +comedy +comely +comers +cometh +comets +comfit +comics +coming +comity +commas +commie +commit +commix +common +comose +comous +compas +comped +compel +comply +compos +compts +comtes +concha +concho +conchs +conchy +concur +condor +condos +coneys +confab +confer +confit +congas +congee +conger +conges +congii +congos +congou +conics +conies +conine +coning +conins +conium +conked +conker +conned +conner +conoid +consol +consul +contes +contos +contra +convex +convey +convoy +coocoo +cooeed +cooees +cooers +cooeys +cooing +cooked +cooker +cookey +cookie +cooled +cooler +coolie +coolly +coolth +coombe +coombs +cooped +cooper +coopts +cooter +cootie +copalm +copals +copays +copeck +copens +copers +copied +copier +copies +coping +coplot +copout +copped +copper +coppra +coprah +copras +copses +copter +copula +coquet +corals +corban +corbel +corbie +corded +corder +cordon +corers +corgis +coring +corium +corked +corker +cormel +cornea +corned +cornel +corner +cornet +cornua +cornus +corody +corona +corpse +corpus +corral +corrie +corsac +corses +corset +cortex +cortin +corvee +corves +corvet +corvid +corymb +coryza +cosecs +cosets +coseys +coshed +cosher +coshes +cosied +cosier +cosies +cosign +cosily +cosine +cosmic +cosmid +cosmos +cosset +costae +costal +costar +costed +coster +costly +cotans +coteau +coting +cottae +cottar +cottas +cotter +cotton +cotype +cougar +coughs +coulee +coulis +counts +county +couped +coupes +couple +coupon +course +courts +cousin +couter +couths +covary +covens +covers +covert +covets +coveys +coving +covins +cowage +coward +cowboy +cowers +cowier +cowing +cowled +cowman +cowmen +cowpat +cowpea +cowpie +cowpox +cowrie +coxing +coydog +coyest +coying +coyish +coyote +coypou +coypus +cozens +cozeys +cozied +cozier +cozies +cozily +cozzes +craals +crabby +cracks +cracky +cradle +crafts +crafty +craggy +crakes +crambe +crambo +cramps +crampy +cranch +craned +cranes +crania +cranks +cranky +cranny +crapes +crappy +crases +crasis +cratch +crated +crater +crates +craton +cravat +craved +craven +craver +craves +crawls +crawly +crayon +crazed +crazes +creaks +creaky +creams +creamy +crease +creasy +create +creche +credal +credit +credos +creeds +creeks +creels +creeps +creepy +creese +creesh +cremes +crenel +creole +creped +crepes +crepey +crepon +cresol +cressy +crests +cresyl +cretic +cretin +crewed +crewel +cricks +criers +crikey +crimes +crimps +crimpy +cringe +crinum +cripes +crises +crisic +crisis +crisps +crispy +crissa +crista +critic +croaks +croaky +crocks +crocus +crofts +crojik +crones +crooks +croons +crores +crosse +crotch +croton +crouch +croupe +croups +croupy +crouse +croute +crowds +crowdy +crowed +crower +crowns +crozer +crozes +cruces +crucks +cruddy +cruder +crudes +cruets +cruise +crumbs +crumby +crummy +crumps +crunch +cruors +crural +cruses +cruset +crusts +crusty +crutch +cruxes +crwths +crying +crypto +crypts +cuatro +cubage +cubebs +cubers +cubics +cubing +cubism +cubist +cubiti +cubits +cuboid +cuckoo +cuddie +cuddle +cuddly +cudgel +cueing +cuesta +cuffed +cuisse +culets +cullay +culled +culler +cullet +cullis +culmed +culpae +cultch +cultic +cultus +culver +cumber +cumbia +cumins +cummer +cummin +cumuli +cundum +cuneal +cunner +cupels +cupful +cupids +cupola +cuppas +cupped +cupper +cupric +cuprum +cupula +cupule +curacy +curagh +curara +curare +curari +curate +curbed +curber +curded +curdle +curers +curets +curfew +curiae +curial +curies +curing +curios +curite +curium +curled +curler +curlew +curran +curred +currie +cursed +curser +curses +cursor +curtal +curter +curtly +curtsy +curule +curved +curves +curvet +curvey +cuscus +cusecs +cushat +cushaw +cuspal +cusped +cuspid +cuspis +cussed +cusser +cusses +cussos +custom +custos +cutely +cutest +cutesy +cuteys +cuties +cutins +cutlas +cutler +cutlet +cutoff +cutout +cutter +cuttle +cutups +cuvees +cyanic +cyanid +cyanin +cyborg +cycads +cycled +cycler +cycles +cyclic +cyclin +cyclos +cyders +cyeses +cyesis +cygnet +cymars +cymbal +cymene +cymlin +cymoid +cymols +cymose +cymous +cynics +cypher +cypres +cyprus +cystic +cytons +dabbed +dabber +dabble +dachas +dacite +dacker +dacoit +dacron +dactyl +daddle +dadgum +dadoed +dadoes +daedal +daemon +daffed +dafter +daftly +daggas +dagger +daggle +dagoba +dagoes +dahlia +dahoon +daiker +daikon +daimen +daimio +daimon +daimyo +dainty +daises +dakoit +dalasi +daledh +daleth +dalles +dalton +damage +damans +damars +damask +dammar +dammed +dammer +dammit +damned +damner +damped +dampen +damper +damply +damsel +damson +danced +dancer +dances +dander +dandle +danged +danger +dangle +dangly +danios +danish +danker +dankly +daphne +dapped +dapper +dapple +darbar +darers +darics +daring +darked +darken +darker +darkey +darkie +darkle +darkly +darned +darnel +darner +darted +darter +dartle +dashed +dasher +dashes +dashis +dassie +datary +datcha +daters +dating +dative +dattos +datums +datura +daubed +dauber +daubes +daubry +daunts +dauted +dautie +davens +davies +davits +dawdle +dawing +dawned +dawted +dawtie +daybed +dayfly +daylit +dazing +dazzle +deacon +deaden +deader +deadly +deafen +deafer +deafly +deairs +dealer +deaned +dearer +dearie +dearly +dearth +deasil +deaths +deathy +deaved +deaves +debags +debark +debars +debase +debate +debeak +debits +debone +debris +debtor +debugs +debunk +debuts +debyes +decade +decafs +decals +decamp +decane +decant +decare +decays +deceit +decent +decern +decide +decile +decked +deckel +decker +deckle +declaw +decoct +decode +decors +decoys +decree +decury +dedans +deduce +deduct +deeded +deejay +deemed +deepen +deeper +deeply +deewan +deface +defame +defang +defats +defeat +defect +defend +defers +deffer +defied +defier +defies +defile +define +deflea +defoam +defogs +deform +defrag +defray +defter +deftly +defuel +defund +defuse +defuze +degage +degame +degami +degerm +degree +degums +degust +dehorn +dehort +deiced +deicer +deices +deific +deigns +deisms +deists +deixis +deject +dekare +deking +dekkos +delate +delays +delead +delete +delfts +delict +delime +delish +delist +deltas +deltic +delude +deluge +deluxe +delved +delver +delves +demand +demark +demast +demean +dement +demies +demise +demits +demobs +demode +demoed +demons +demote +demure +demurs +denari +denars +denary +dengue +denial +denied +denier +denies +denims +denned +denote +denser +dental +dented +dentil +dentin +denude +deodar +depart +depend +deperm +depict +deploy +depone +deport +depose +depots +depths +depute +deputy +derail +derate +derats +derays +deride +derive +dermal +dermas +dermic +dermis +derris +desalt +desand +descry +desert +design +desire +desist +desman +desmid +desorb +desoxy +despot +detach +detail +detain +detect +detent +deters +detest +detick +detour +deuced +deuces +devein +devels +devest +device +devils +devise +devoid +devoir +devons +devote +devour +devout +dewans +dewars +dewier +dewily +dewing +dewlap +dewool +deworm +dexies +dexter +dextro +dezinc +dharma +dharna +dhobis +dholes +dhooly +dhoora +dhooti +dhotis +dhurna +dhutis +diacid +diadem +dialed +dialer +dialog +diamin +diaper +diapir +diatom +diazin +dibbed +dibber +dibble +dibbuk +dicast +dicers +dicier +dicing +dicked +dicker +dickey +dickie +dicots +dictum +didact +diddle +diddly +didies +didoes +dieing +dienes +dieoff +diesel +dieses +diesis +dieted +dieter +differ +digamy +digest +digged +digger +dights +digits +diglot +dikdik +dikers +diking +diktat +dilate +dildoe +dildos +dilled +dilute +dimers +dimity +dimmed +dimmer +dimout +dimple +dimply +dimwit +dinars +dindle +dinero +diners +dinged +dinger +dinges +dingey +dinghy +dingle +dingus +dining +dinked +dinkey +dinkly +dinkum +dinned +dinner +dinted +diobol +diodes +dioecy +dioxan +dioxid +dioxin +diplex +diploe +dipnet +dipody +dipole +dipped +dipper +dipsas +dipsos +diquat +dirams +dirdum +direct +direly +direst +dirges +dirham +dirked +dirled +dirndl +disarm +disbar +disbud +disced +discos +discus +diseur +dished +dishes +disked +dismal +dismay +dismes +disown +dispel +dissed +disses +distal +distil +disuse +dither +dittos +ditzes +diuron +divans +divers +divert +divest +divide +divine +diving +divots +diwans +dixits +dizens +djebel +djinni +djinns +djinny +doable +doated +dobber +dobbin +dobies +doblas +doblon +dobras +dobros +dobson +docent +docile +docked +docker +docket +doctor +dodder +dodged +dodgem +dodger +dodges +dodoes +doffed +doffer +dogdom +dogear +dogeys +dogged +dogger +doggie +dogies +dogleg +dogmas +dognap +doiled +doings +doited +doling +dollar +dolled +dollop +dolman +dolmas +dolmen +dolors +dolour +domain +domine +doming +domino +donate +donees +dongas +dongle +donjon +donkey +donnas +donned +donnee +donors +donsie +donuts +donzel +doobie +doodad +doodle +doodoo +doofus +doolee +doolie +doomed +doowop +doozer +doozie +dopant +dopers +dopier +dopily +doping +dorado +dorbug +dories +dormer +dormie +dormin +dorper +dorsad +dorsal +dorsel +dorser +dorsum +dosage +dosers +dosing +dossal +dossed +dossel +dosser +dosses +dossil +dotage +dotard +doters +dotier +doting +dotted +dottel +dotter +dottle +double +doubly +doubts +douche +doughs +dought +doughy +doulas +doumas +dourah +douras +dourer +dourly +doused +douser +douses +dovens +dovish +dowels +dowers +dowery +dowing +downed +downer +dowsed +dowser +dowses +doxies +doyens +doyley +dozens +dozers +dozier +dozily +dozing +drably +drachm +draffs +draffy +drafts +drafty +dragee +draggy +dragon +drails +drains +drakes +dramas +drawee +drawer +drawls +drawly +drayed +dreads +dreams +dreamt +dreamy +drears +dreary +drecks +drecky +dredge +dreggy +dreich +dreidl +dreigh +drench +dressy +driegh +driers +driest +drifts +drifty +drills +drinks +drippy +drivel +driven +driver +drives +drogue +droids +droits +drolls +drolly +dromon +droned +droner +drones +drongo +drools +drooly +droops +droopy +dropsy +drosky +drossy +drouks +drouth +droved +drover +droves +drownd +drowns +drowse +drowsy +drudge +druggy +druids +drumly +drunks +drupes +druses +dryads +dryers +dryest +drying +dryish +drylot +dually +dubbed +dubber +dubbin +ducats +ducked +ducker +duckie +ductal +ducted +duddie +dudeen +duding +dudish +dueled +dueler +duelli +duello +duende +duenna +dueted +duffel +duffer +duffle +dugong +dugout +duiker +duking +dulcet +dulias +dulled +duller +dulses +dumbed +dumber +dumbly +dumbos +dumdum +dumped +dumper +dunams +dunces +dunged +dunite +dunked +dunker +dunlin +dunned +dunner +dunted +duolog +duomos +dupers +dupery +duping +duplex +dupped +durbar +duress +durian +during +durion +durned +durocs +durras +durrie +durums +dusked +dusted +duster +dustup +duties +duvets +dwarfs +dweebs +dweeby +dwells +dwined +dwines +dyable +dyadic +dybbuk +dyeing +dyings +dyking +dynamo +dynast +dynein +dynels +dynode +dyvour +eagers +eagled +eagles +eaglet +eagres +earbud +earful +earing +earlap +earned +earner +earths +earthy +earwax +earwig +easels +easier +easies +easily +easing +easter +eaters +eatery +eating +ebbets +ebbing +ebooks +ecarte +ecesic +ecesis +echard +eching +echini +echoed +echoer +echoes +echoey +echoic +eclair +eclats +ectype +eczema +eddied +eddies +eddoes +edemas +edenic +edgers +edgier +edgily +edging +edible +edicts +ediles +edited +editor +educed +educes +educts +eelier +eerier +eerily +efface +effect +effete +effigy +efflux +effort +effuse +egesta +egests +eggars +eggcup +eggers +egging +eggnog +egises +egoism +egoist +egress +egrets +eiders +eidola +eighth +eights +eighty +eikons +either +ejecta +ejects +ekuele +elains +elands +elapid +elapse +elated +elater +elates +elbows +elders +eldest +elects +elegit +elemis +eleven +elevon +elfins +elfish +elicit +elided +elides +elints +elites +elixir +elmier +elodea +eloign +eloins +eloped +eloper +elopes +eluant +eluate +eluded +eluder +eludes +eluent +eluted +elutes +eluvia +elvers +elvish +elytra +emails +embalm +embank +embark +embars +embays +embeds +embers +emblem +embody +emboli +emboly +embosk +emboss +embows +embrue +embryo +emceed +emcees +emdash +emeers +emends +emerge +emerod +emeses +emesis +emetic +emetin +emeute +emigre +emmers +emmets +emodin +emoted +emoter +emotes +empale +empery +empire +employ +emydes +enable +enacts +enamel +enamor +enates +enatic +encage +encamp +encase +encash +encina +encode +encore +encyst +endash +endear +enders +ending +endite +endive +endows +endrin +endued +endues +endure +enduro +energy +enface +enfold +engage +engild +engine +engird +engirt +englut +engram +engulf +enhalo +enigma +enisle +enjoin +enjoys +enlace +enlist +enmesh +enmity +ennead +ennuis +ennuye +enokis +enolic +enosis +enough +enrage +enrapt +enrich +enrobe +enroll +enrols +enroot +enserf +ensign +ensile +ensoul +ensued +ensues +ensure +entail +entera +enters +entice +entire +entity +entoil +entomb +entrap +entree +enured +enures +envied +envier +envies +enviro +envois +envoys +enwind +enwomb +enwrap +enzyme +enzyms +eocene +eolian +eolith +eonian +eonism +eosine +eosins +epacts +eparch +ephahs +ephebe +ephebi +ephods +ephori +ephors +epical +epigon +epilog +epimer +epizoa +epochs +epodes +eponym +epopee +eposes +equals +equate +equids +equine +equips +equity +erased +eraser +erases +erbium +erects +erenow +ergate +ergots +ericas +eringo +ermine +eroded +erodes +eroses +erotic +errand +errant +errata +erring +errors +ersatz +eructs +erugos +erupts +ervils +eryngo +escape +escarp +escars +eschar +eschew +escort +escots +escrow +escudo +eskars +eskers +espial +espied +espies +esprit +essays +essoin +estate +esteem +esters +estops +estral +estray +estrin +estrum +estrus +etalon +etamin +etapes +etched +etcher +etches +eterne +ethane +ethene +ethers +ethics +ethion +ethnic +ethnos +ethoxy +ethyls +ethyne +etoile +etudes +etwees +etymon +euchre +eulogy +eunuch +eupnea +eureka +euripi +euroky +eutaxy +evaded +evader +evades +evened +evener +evenly +events +everts +evicts +eviler +evilly +evince +evited +evites +evoked +evoker +evokes +evolve +evulse +evzone +exacta +exacts +exalts +examen +exarch +exceed +excels +except +excess +excide +excise +excite +excuse +exedra +exempt +exequy +exerts +exeunt +exhale +exhort +exhume +exiled +exiler +exiles +exilic +exines +exists +exited +exodoi +exodos +exodus +exogen +exonic +exonym +exotic +expand +expats +expect +expels +expend +expert +expire +expiry +export +expose +exsect +exsert +extant +extend +extent +extern +extoll +extols +extort +extras +exuded +exudes +exults +exurbs +exuvia +eyases +eyebar +eyecup +eyeful +eyeing +eyelet +eyelid +eyries +fabber +fabled +fabler +fables +fabric +facade +facers +facete +facets +faceup +facial +facile +facing +factor +facula +fadein +faders +fading +faenas +faerie +failed +faille +fainer +faints +faired +fairer +fairly +faiths +fajita +fakeer +fakers +fakery +faking +fakirs +falces +falcon +fallal +fallen +faller +fallow +falser +falsie +falter +family +famine +faming +famish +famous +famuli +fandom +fanega +fanfic +fangas +fanged +fanion +fanjet +fanned +fanner +fanons +fantod +fantom +fanums +faqirs +faquir +farads +farced +farcer +farces +farcie +farded +fardel +farers +farfal +farfel +farina +faring +farles +farmed +farmer +farrow +farted +fasces +fascia +fashed +fashes +fasted +fasten +faster +father +fathom +fating +fatwas +faucal +fauces +faucet +faulds +faults +faulty +faunae +faunal +faunas +fauves +favela +favism +favors +favour +fawned +fawner +faxing +faying +fazing +fealty +feared +fearer +feased +feases +feasts +feater +featly +feazed +feazes +feckly +fecund +fedora +feeble +feebly +feeder +feeing +feeler +feezed +feezes +feigns +feijoa +feints +feirie +feists +feisty +felids +feline +fellah +fellas +felled +feller +felloe +fellow +felons +felony +felsic +felted +female +femmes +femora +femurs +fenced +fencer +fences +fended +fender +fennec +fennel +feoffs +ferals +ferbam +feriae +ferial +ferias +ferine +ferity +ferlie +fermis +ferrel +ferret +ferric +ferrum +ferula +ferule +fervid +fervor +fescue +fessed +fesses +festal +fester +fetial +fetich +feting +fetish +fetors +fetted +fetter +fettle +feuars +feudal +feuded +feuing +fevers +fewest +feyest +fezzed +fezzes +fiacre +fiance +fiasco +fibbed +fibber +fibers +fibres +fibril +fibrin +fibula +fiches +fichus +ficins +fickle +fickly +ficoes +fiddle +fiddly +fidged +fidges +fidget +fields +fiends +fierce +fiesta +fifers +fifing +fifths +figged +fights +figure +filers +filets +filial +filing +filled +filler +filles +fillet +fillip +fillos +filmed +filmer +filmic +filmis +filose +filter +filths +filthy +fimble +finale +finals +fincas +finder +finely +finery +finest +finger +finial +fining +finish +finite +finito +finked +finned +fiords +fipple +fiques +firers +firing +firkin +firman +firmed +firmer +firmly +firsts +firths +fiscal +fished +fisher +fishes +fisted +fistic +fitchy +fitful +fitted +fitter +fivers +fixate +fixers +fixing +fixity +fixure +fizgig +fizzed +fizzer +fizzes +fizzle +fjelds +fjords +flabby +flacks +flacon +flaggy +flagon +flails +flairs +flaked +flaker +flakes +flakey +flambe +flamed +flamen +flamer +flames +flanes +flange +flanks +flappy +flared +flares +flashy +flasks +flatly +flatus +flaunt +flauta +flavin +flavor +flawed +flaxen +flaxes +flayed +flayer +fleams +fleche +flecks +flecky +fledge +fledgy +fleece +fleech +fleecy +fleers +fleets +flench +flense +fleshy +fletch +fleury +flexed +flexes +flexor +fleyed +flicks +fliers +fliest +flight +flimsy +flinch +flings +flints +flinty +flippy +flirts +flirty +flitch +flited +flites +floats +floaty +flocci +flocks +flocky +flongs +floods +flooey +flooie +floors +floosy +floozy +floppy +florae +floral +floras +floret +florid +florin +flossy +flotas +flours +floury +flouts +flowed +flower +fluent +fluffs +fluffy +fluids +fluish +fluked +flukes +flukey +flumed +flumes +flumps +flunks +flunky +fluors +flurry +fluted +fluter +flutes +flutey +fluxed +fluxes +fluyts +flyboy +flybys +flyers +flying +flyman +flymen +flyoff +flysch +flyted +flytes +flyway +foaled +foamed +foamer +fobbed +fodder +fodgel +foehns +foeman +foemen +foetal +foetid +foetor +foetus +fogbow +fogdog +fogeys +fogged +fogger +fogies +foible +foiled +foined +foison +foists +folate +folded +folder +foldup +foleys +foliar +folios +folium +folkie +folksy +folles +follis +follow +foment +fomite +fonded +fonder +fondle +fondly +fondue +fondus +fontal +foodie +fooled +footed +footer +footie +footle +footsy +foozle +fopped +forage +forams +forays +forbad +forbid +forbye +forced +forcer +forces +forded +fordid +foreby +foredo +forego +forest +forgat +forged +forger +forges +forget +forgot +forint +forked +forker +formal +format +formed +formee +former +formes +formic +formol +formyl +fornix +forrit +fortes +fortis +forums +forwhy +fossae +fossas +fosses +fossil +foster +fought +fouled +fouler +foully +founds +founts +fourth +foveae +foveal +foveas +fowled +fowler +foxier +foxily +foxing +foyers +fozier +fracas +fracti +fraena +frails +fraise +framed +framer +frames +francs +franks +frappe +frater +frauds +frayed +frazil +freaks +freaky +freely +freers +freest +freeze +french +frenum +frenzy +freres +fresco +fretty +friars +friary +fridge +friend +friers +frieze +friges +fright +frigid +frijol +frills +frilly +fringe +fringy +frisee +frises +frisks +frisky +frites +friths +fritts +frivol +frized +frizer +frizes +frizzy +frocks +froggy +frolic +fronds +fronts +frosts +frosty +froths +frothy +frouzy +frowns +frowst +frowsy +frowzy +frozen +frugal +fruits +fruity +frumps +frumpy +frusta +fryers +frying +frypan +fubbed +fucoid +fucose +fucous +fuddle +fudged +fudges +fueled +fueler +fugato +fugged +fugios +fugled +fugles +fugued +fugues +fuhrer +fulcra +fulfil +fulgid +fulham +fullam +fulled +fuller +fulmar +fumble +fumers +fumets +fumier +fuming +fumuli +funded +funder +fundic +fundus +funest +fungal +fungic +fungus +funked +funker +funkia +funned +funnel +funner +furane +furans +furfur +furies +furled +furler +furore +furors +furred +furrow +furzes +fusain +fusees +fusels +fusile +fusils +fusing +fusion +fussed +fusser +fusses +fustic +fusuma +futile +futons +future +futzed +futzes +fuzees +fuzils +fuzing +fuzzed +fuzzes +fylfot +fynbos +fyttes +gabbed +gabber +gabble +gabbro +gabies +gabion +gabled +gables +gaboon +gadded +gadder +gaddis +gadfly +gadget +gadids +gadoid +gaeing +gaffed +gaffer +gaffes +gagaku +gagers +gagged +gagger +gaggle +gaging +gagman +gagmen +gaiety +gaijin +gained +gainer +gainly +gainst +gaited +gaiter +galago +galahs +galaxy +galeae +galeas +galena +galere +galiot +galled +gallet +galley +gallic +gallon +gallop +gallus +galoot +galops +galore +galosh +galyac +galyak +gamays +gambas +gambes +gambia +gambir +gambit +gamble +gambol +gamely +gamers +gamest +gamete +gamier +gamily +gamine +gaming +gamins +gammas +gammed +gammer +gammon +gamuts +gander +ganefs +ganevs +ganged +ganger +gangly +gangue +ganjah +ganjas +gannet +ganofs +ganoid +gantry +gaoled +gaoler +gapers +gaping +gapped +garage +garbed +garble +garcon +gardai +garden +garget +gargle +garish +garlic +garner +garnet +garote +garred +garret +garron +garter +garths +garvey +gasbag +gascon +gashed +gasher +gashes +gasify +gasket +gaskin +gaslit +gasman +gasmen +gasped +gasper +gassed +gasser +gasses +gasted +gaster +gateau +gaters +gather +gating +gators +gauche +gaucho +gauged +gauger +gauges +gaults +gaumed +gauzes +gavage +gavels +gavial +gavots +gawked +gawker +gawped +gawper +gawsie +gayals +gaydar +gayest +gayety +gazabo +gazars +gazebo +gazers +gazing +gazoos +gazump +geared +gecked +geckos +geegaw +geeing +geeked +geests +geezer +geisha +gelada +gelant +gelate +gelati +gelato +gelcap +gelded +gelder +gelees +gelled +gemmae +gemmed +gemote +gemots +gender +genera +genets +geneva +genial +genies +genips +genius +genoas +genome +genoms +genres +genros +gentes +gentil +gentle +gently +gentoo +gentry +geodes +geodic +geoids +gerahs +gerbil +gerent +german +germen +gerund +gestes +gestic +getter +getups +gewgaw +geyser +gharri +gharry +ghauts +ghazis +gherao +ghetto +ghibli +ghosts +ghosty +ghouls +ghylls +giants +giaour +gibbed +gibber +gibbet +gibbon +gibers +gibing +giblet +gibson +giddap +gieing +gifted +giftee +gigged +giggle +giggly +giglet +giglot +gigolo +gigots +gigues +gilded +gilder +gilled +giller +gillie +gimbal +gimels +gimlet +gimmal +gimmes +gimmie +gimped +gingal +ginger +gingko +ginkgo +ginned +ginner +gipons +gipped +gipper +girded +girder +girdle +girlie +girned +girons +girted +girths +gismos +gitano +gitted +gittin +givens +givers +giving +gizmos +glaces +glacis +glades +gladly +glaire +glairs +glairy +glaive +glamor +glance +glands +glared +glares +glassy +glazed +glazer +glazes +gleams +gleamy +gleans +glebae +glebes +gledes +gleeds +gleeks +gleets +gleety +glegly +gleyed +glibly +glided +glider +glides +gliffs +glimed +glimes +glints +glinty +glioma +glitch +glitzy +gloams +gloats +global +globby +globed +globes +globin +gloggs +glomus +glooms +gloomy +gloppy +gloria +glossa +glossy +glosts +glouts +gloved +glover +gloves +glowed +glower +glozed +glozes +glucan +gluers +gluier +gluily +gluing +glumes +glumly +glumpy +glunch +gluons +glutei +gluten +glutes +glycan +glycin +glycol +glycyl +glyphs +gnarls +gnarly +gnarrs +gnatty +gnawed +gnawer +gneiss +gnomes +gnomic +gnomon +gnoses +gnosis +goaded +goaled +goalie +goanna +goatee +gobang +gobans +gobbed +gobbet +gobble +gobies +goblet +goblin +goboes +gobony +goddam +godded +godets +godown +godson +godwit +gofers +goffer +goggle +goggly +goglet +goings +goiter +goitre +golden +golder +golems +golfed +golfer +golosh +gombos +gomers +gomuti +gonefs +goners +gonged +goniff +gonifs +gonion +gonium +gonofs +gonoph +goodby +goodie +goodly +goofed +googly +googol +gooier +gooney +goonie +gooral +goosed +gooses +goosey +gopher +gorals +gorged +gorger +gorges +gorget +gorgon +gorhen +gorier +gorily +goring +gormed +gorses +gospel +gossan +gossip +gotcha +gothic +gotten +gouged +gouger +gouges +gourde +gourds +govern +gowans +gowany +gowned +goyish +graals +grabby +graben +graced +graces +graded +grader +grades +gradin +gradus +grafts +graham +grails +grains +grainy +gramas +gramma +gramme +grampa +gramps +grands +grange +granny +grants +granum +grapes +grapey +graphs +grappa +grasps +grassy +grated +grater +grates +gratin +gratis +graved +gravel +graven +graver +graves +gravid +grayed +grayer +grayly +grazed +grazer +grazes +grease +greasy +greats +greave +grebes +greeds +greedy +greens +greeny +greets +gregos +greige +gremmy +greyed +greyer +greyly +grided +grides +griefs +grieve +griffe +griffs +grifts +grigri +grille +grills +grilse +grimed +grimes +grimly +grinch +grinds +gringa +gringo +griots +griped +griper +gripes +gripey +grippe +grippy +grisly +grison +grists +griths +gritty +grivet +groans +groats +grocer +groggy +groins +grooms +groove +groovy +groped +groper +gropes +grosze +groszy +grotto +grotty +grouch +ground +groups +grouse +grouts +grouty +groved +grovel +groves +grower +growls +growly +growth +groyne +grubby +grudge +gruels +gruffs +gruffy +grugru +grumes +grumps +grumpy +grunge +grungy +grunts +grutch +guacos +guaiac +guanay +guanin +guanos +guards +guavas +guenon +guests +guffaw +guggle +guglet +guided +guider +guides +guidon +guilds +guiled +guiles +guilts +guilty +guimpe +guinea +guiros +guised +guises +guitar +gulags +gulden +gulfed +gulled +gullet +gulley +gulped +gulper +gumbos +gummas +gummed +gummer +gundog +gunite +gunman +gunmen +gunned +gunnel +gunnen +gunner +gunsel +gurged +gurges +gurgle +gurnet +gurney +gushed +gusher +gushes +gusset +gussie +gusted +guttae +gutted +gutter +guttle +guying +guyots +guzzle +gweduc +gybing +gyozas +gypped +gypper +gypsum +gyrase +gyrate +gyrene +gyring +gyrons +gyrose +gyttja +gyving +habile +habits +haboob +haceks +hacked +hackee +hacker +hackie +hackle +hackly +hading +hadith +hadjee +hadjes +hadjis +hadron +haeing +haemal +haemic +haemin +haeres +haffet +haffit +hafted +hafter +hagbut +hagdon +hagged +haggis +haggle +haikus +hailed +hailer +haints +hairdo +haired +hajjes +hajjis +hakeem +hakims +halala +halals +halers +haleru +halest +halide +halids +haling +halite +hallah +hallal +hallel +halloa +halloo +hallos +hallot +hallow +hallux +halmas +haloed +haloes +haloid +halons +halted +halter +halutz +halvah +halvas +halved +halves +hamada +hamals +hamate +hamaul +hamlet +hammal +hammam +hammed +hammer +hamper +hamuli +hamzah +hamzas +hances +handax +handed +hander +handle +hangar +hanged +hanger +hangul +hangup +haniwa +hanked +hanker +hankie +hansas +hansel +hanses +hansom +hanted +hantle +haoles +happed +happen +hapten +haptic +harbor +harden +harder +hardly +hareem +harems +haring +harked +harken +harlot +harmed +harmer +harmin +harped +harper +harpin +harrow +hartal +hashed +hashes +haslet +hasped +hassel +hassle +hasted +hasten +hastes +hatbox +haters +hatful +hating +hatpin +hatred +hatted +hatter +haughs +hauled +hauler +haulms +haulmy +haunch +haunts +hausen +havens +havers +having +havior +havocs +hawala +hawing +hawked +hawker +hawkey +hawkie +hawser +hawses +hayers +haying +haymow +hazans +hazard +hazels +hazers +hazier +hazily +hazing +hazmat +hazzan +headed +header +healed +healer +health +heaped +heaper +hearer +hearse +hearth +hearts +hearty +heated +heater +heaths +heathy +heaume +heaved +heaven +heaver +heaves +heckle +hectic +hector +heddle +heders +hedged +hedger +hedges +heeded +heeder +heehaw +heeled +heeler +heezed +heezes +hefted +hefter +hegari +hegira +heifer +height +heiled +heinie +heired +heishi +heists +hejira +heliac +helios +helium +helled +heller +hellos +helmed +helmet +helots +helped +helper +helved +helves +hemins +hemmed +hemmer +hemoid +hempen +hempie +henbit +henges +henley +hennas +henrys +hented +hepcat +hepper +heptad +herald +herbal +herbed +herded +herder +herdic +hereat +hereby +herein +hereof +hereon +heresy +hereto +heriot +hermae +hermai +hermit +hernia +heroes +heroic +heroin +herons +herpes +hetero +hetman +heuchs +heughs +hewers +hewing +hexade +hexads +hexane +hexers +hexing +hexone +hexose +hexyls +heyday +heydey +hiatal +hiatus +hiccup +hickey +hickie +hidden +hiders +hiding +hieing +hiemal +higgle +higher +highly +highth +hights +hijabs +hijack +hijrah +hijras +hikers +hiking +hilled +hiller +hilloa +hillos +hilted +hinder +hinged +hinger +hinges +hinted +hinter +hipped +hipper +hippie +hippos +hirees +hirers +hiring +hirple +hirsel +hirsle +hispid +hissed +hisser +hisses +histed +hither +hitman +hitmen +hitter +hiving +hoagie +hoards +hoarse +hoaxed +hoaxer +hoaxes +hobbed +hobber +hobbit +hobble +hobnob +hoboed +hoboes +hocked +hocker +hockey +hodads +hodden +hoddin +hoeing +hogans +hogged +hogger +hogget +hognut +hogtie +hoicks +hoiden +hoised +hoises +hoists +hokier +hokily +hoking +hokums +holard +holden +holder +holdup +holier +holies +holily +holing +holism +holist +holked +hollas +holler +holloa +holloo +hollos +hollow +holmic +holpen +homage +hombre +homely +homers +homeys +homier +homies +homily +homing +hominy +hommos +honans +honcho +hondas +hondle +honers +honest +honeys +honied +honing +honked +honker +honkey +honkie +honors +honour +hooded +hoodie +hoodoo +hooeys +hoofed +hoofer +hookah +hookas +hooked +hooker +hookey +hookup +hoolie +hooped +hooper +hoopla +hoopoe +hoopoo +hoorah +hooray +hootch +hooted +hooter +hooved +hoover +hooves +hopers +hoping +hopped +hopper +hopple +horahs +horary +horded +hordes +horned +hornet +horrid +horror +horsed +horses +horsey +horste +horsts +hosels +hosers +hoseys +hosier +hosing +hostas +hosted +hostel +hostly +hotbed +hotbox +hotdog +hotels +hotrod +hotted +hotter +hottie +houdah +hounds +houris +hourly +housed +housel +houser +houses +hovels +hovers +howdah +howdie +howffs +howked +howled +howler +howlet +hoyden +hoyles +hryvna +hubbly +hubbub +hubcap +hubris +huckle +huddle +huffed +hugely +hugest +hugged +hugger +huipil +hulked +hulled +huller +hulloa +hulloo +hullos +humane +humans +humate +humble +humbly +humbug +humeri +hummed +hummer +hummus +humors +humour +humped +humper +humphs +humvee +hunger +hungry +hunker +hunkey +hunkie +hunted +hunter +huppah +hurdle +hurled +hurler +hurley +hurrah +hurray +hursts +hurter +hurtle +hushed +hushes +husked +husker +hussar +hustle +hutted +hutzpa +huzzah +huzzas +hyaena +hyalin +hybrid +hybris +hydrae +hydras +hydria +hydric +hydrid +hydros +hyenas +hyenic +hyetal +hymens +hymnal +hymned +hyoids +hypers +hyphae +hyphal +hyphen +hyping +hypnic +hypoed +hysons +hyssop +iambic +iambus +iatric +ibexes +ibices +ibidem +ibises +icebox +icecap +iceman +icemen +ichors +icicle +iciest +icings +ickers +ickier +ickily +icones +iconic +ideals +ideate +idiocy +idioms +idiots +idlers +idlest +idling +idylls +iffier +igging +igloos +ignify +ignite +ignore +iguana +ihrams +ilexes +iliads +illest +illite +illude +illume +imaged +imager +images +imagos +imaret +imaums +imbalm +imbark +imbeds +imbibe +imbody +imbrue +imbued +imbues +imides +imidic +imines +immane +immesh +immies +immune +immure +impact +impair +impala +impale +impark +impart +impawn +impede +impels +impend +imphee +imping +impish +impled +impone +import +impose +impost +improv +impugn +impure +impute +inaner +inanes +inarch +inarms +inborn +inbred +incage +incant +incase +incent +incept +incest +inched +incher +inches +incise +incite +inclip +incogs +income +incony +incubi +incult +incurs +incuse +indaba +indeed +indene +indent +indict +indies +indign +indigo +indite +indium +indole +indols +indoor +indows +indris +induce +induct +indued +indues +indult +inerts +infall +infamy +infant +infare +infect +infers +infest +infill +infirm +inflow +influx +infold +inform +infuse +ingate +ingest +ingles +ingots +ingulf +inhale +inhaul +inhere +inhume +inions +inject +injure +injury +inkers +inkier +inking +inkjet +inkles +inkpot +inlace +inlaid +inland +inlays +inlets +inlier +inmate +inmesh +inmost +innage +innate +inners +inning +inpour +inputs +inroad +inruns +inrush +insane +inseam +insect +insert +insets +inside +insist +insole +insoul +inspan +instal +instar +instep +instil +insult +insure +intact +intake +intend +intent +intern +inters +intima +intime +intine +intomb +intone +intort +intown +intron +intros +intuit +inturn +inulin +inured +inures +inurns +invade +invars +invent +invert +invest +invite +invoke +inwall +inward +inwind +inwove +inwrap +iodate +iodide +iodids +iodine +iodins +iodise +iodism +iodize +iodous +iolite +ionics +ionise +ionium +ionize +ionone +ipecac +irades +irater +ireful +irenic +irides +iridic +irised +irises +iritic +iritis +irking +irokos +ironed +ironer +irones +ironic +irreal +irrupt +isatin +ischia +island +islets +isling +isobar +isogon +isohel +isolog +isomer +isopod +isseis +issued +issuer +issues +isthmi +istles +italic +itched +itches +itemed +iterum +itself +ixodid +ixoras +ixtles +izzard +jabbed +jabber +jabiru +jabots +jacals +jacana +jackal +jacked +jacker +jacket +jading +jadish +jaeger +jagers +jagged +jagger +jagras +jaguar +jailed +jailer +jailor +jalaps +jalops +jalopy +jambed +jambes +jammed +jammer +jangle +jangly +japans +japers +japery +japing +jarful +jargon +jarina +jarrah +jarred +jarvey +jasmin +jasper +jassid +jauked +jaunce +jaunts +jaunty +jauped +jawans +jawing +jaygee +jayvee +jazzbo +jazzed +jazzer +jazzes +jeaned +jebels +jeeing +jeeped +jeered +jeerer +jehads +jejuna +jejune +jelled +jellos +jennet +jerboa +jereed +jerids +jerked +jerker +jerkin +jerrid +jersey +jessed +jesses +jested +jester +jesuit +jetlag +jetons +jetsam +jetsom +jetted +jetton +jetway +jewels +jewing +jezail +jibbed +jibber +jibers +jibing +jicama +jigged +jigger +jiggle +jiggly +jigsaw +jihads +jilted +jilter +jiminy +jimmie +jimper +jimply +jingal +jingko +jingle +jingly +jinked +jinker +jinnee +jinnis +jinxed +jinxes +jitney +jitter +jivers +jivier +jiving +jnanas +jobbed +jobber +jockey +jockos +jocose +jocund +jogged +jogger +joggle +johnny +joined +joiner +joints +joists +jojoba +jokers +jokier +jokily +joking +jolted +jolter +jorams +jordan +jorums +joseph +joshed +josher +joshes +josses +jostle +jotted +jotter +jouals +jouked +joules +jounce +jouncy +journo +jousts +jovial +jowars +jowing +jowled +joyful +joying +joyous +joypop +jubbah +jubhah +jubile +judder +judged +judger +judges +judoka +jugate +jugful +jugged +juggle +jugula +jugums +juiced +juicer +juices +jujube +juking +juleps +jumbal +jumble +jumbos +jumped +jumper +juncos +jungle +jungly +junior +junked +junker +junket +junkie +juntas +juntos +jupons +jurant +jurats +jurels +juried +juries +jurist +jurors +justed +juster +justle +justly +jutted +kababs +kabaka +kabala +kabars +kabaya +kabiki +kabobs +kabuki +kaffir +kafirs +kaftan +kahuna +kaiaks +kainit +kaiser +kakapo +kalams +kalian +kalifs +kaliph +kalium +kalmia +kalong +kalpac +kalpak +kalpas +kamala +kamiks +kamsin +kanaka +kanban +kanjis +kantar +kanzus +kaolin +kaonic +kapoks +kappas +kaputt +karate +karats +karmas +karmic +karoos +kaross +karroo +karsts +kasbah +kashas +kasher +kation +kauris +kavass +kayaks +kayles +kayoed +kayoes +kazoos +kebabs +kebars +kebbie +keblah +kebobs +kecked +keckle +keddah +kedged +kedges +keeked +keeled +keened +keener +keenly +keeper +keeves +kefirs +kegged +kegger +kegler +keleps +kelims +keloid +kelped +kelpie +kelson +kelter +kelvin +kenafs +kendos +kenned +kennel +kentes +kepped +keppen +kerbed +kerfed +kermes +kermis +kerned +kernel +kernes +kerria +kersey +ketene +ketols +ketone +ketose +kettle +kevels +kevils +kewpie +keying +keypad +keypal +keyset +keyway +khadis +khakis +khalif +khaphs +khazen +khedah +khedas +kheths +khoums +kiangs +kiaugh +kibbeh +kibbes +kibbis +kibble +kibeis +kibitz +kiblah +kiblas +kibosh +kicked +kicker +kickup +kidded +kidder +kiddie +kiddos +kidnap +kidney +kidvid +kilims +killed +killer +killie +kilned +kilted +kilter +kiltie +kimchi +kimono +kinara +kinase +kinder +kindle +kindly +kinema +kinged +kingly +kinins +kinked +kiosks +kipped +kippen +kipper +kirned +kirsch +kirtle +kishka +kishke +kismat +kismet +kissed +kisser +kisses +kitbag +kiters +kithed +kithes +kiting +kitsch +kitted +kittel +kitten +kittle +klatch +klaxon +klepht +klepto +klicks +klongs +kloofs +kludge +kludgy +kluged +kluges +klutzy +knacks +knarry +knaurs +knaves +knawel +knawes +kneads +kneels +knells +knifed +knifer +knifes +knight +knives +knobby +knocks +knolls +knolly +knosps +knotty +knouts +knower +knowns +knubby +knurls +knurly +koalas +kobold +koines +kolhoz +kolkoz +kombus +konked +koodoo +kookie +kopeck +kopeks +kopjes +koppas +koppie +korats +kormas +koruna +koruny +kosher +kotows +koumis +koumys +kouroi +kouros +kousso +kowtow +kraals +krafts +kraits +kraken +krater +krauts +kreeps +krewes +krills +krises +kronen +kroner +kronor +kronur +krooni +kroons +krubis +krubut +kuchen +kudzus +kugels +kukris +kulaki +kulaks +kultur +kumiss +kummel +kurgan +kurtas +kussos +kuvasz +kvases +kvells +kvetch +kwacha +kwanza +kyacks +kybosh +kyries +kythed +kythes +laager +labara +labels +labial +labile +labium +labors +labour +labret +labrum +lacers +laches +lacier +lacily +lacing +lacked +lacker +lackey +lactam +lactic +lacuna +lacune +ladder +laddie +ladens +laders +ladies +lading +ladino +ladled +ladler +ladles +ladron +lagans +lagend +lagers +lagged +lagger +lagoon +laguna +lagune +lahars +laical +laichs +laighs +lairds +laired +lakers +lakier +laking +lallan +lalled +lambda +lambed +lamber +lambie +lamedh +lameds +lamely +lament +lamest +lamiae +lamias +lamina +laming +lammed +lampad +lampas +lamped +lanais +lanate +lanced +lancer +lances +lancet +landau +landed +lander +lanely +langue +langur +lanker +lankly +lanner +lanose +lanugo +laogai +lapdog +lapels +lapful +lapins +lapped +lapper +lappet +lapsed +lapser +lapses +lapsus +laptop +larded +larder +lardon +larees +larger +larges +largos +lariat +larine +larked +larker +larrup +larums +larvae +larval +larvas +larynx +lascar +lasers +lashed +lasher +lashes +lasing +lasses +lassie +lassis +lassos +lasted +laster +lastly +lateen +lately +latens +latent +latest +lathed +lather +lathes +lathis +latigo +latina +latino +latish +latkes +latria +latten +latter +lattes +lattin +lauans +lauded +lauder +laughs +launce +launch +laurae +lauras +laurel +lavabo +lavage +lavash +laveer +lavers +laving +lavish +lawful +lawine +lawing +lawman +lawmen +lawyer +laxest +laxity +layers +laying +layins +layman +laymen +layoff +layout +layups +lazars +lazied +lazier +lazies +lazily +lazing +lazuli +leachy +leaded +leaden +leader +leafed +league +leaked +leaker +leally +lealty +leaned +leaner +leanly +leaped +leaper +learns +learnt +leased +leaser +leases +leasts +leaved +leaven +leaver +leaves +lebens +leched +lecher +leches +lechwe +lectin +lector +ledger +ledges +leered +leeway +lefter +legacy +legals +legate +legato +legend +legers +legged +leggin +legion +legist +legits +legman +legmen +legong +legume +lehuas +lekked +lekvar +lemans +lemmas +lemons +lemony +lemurs +lender +length +lenite +lenity +lensed +lenses +lenten +lentic +lentil +lentos +leones +lepers +leptin +lepton +lesbos +lesion +lessee +lessen +lesser +lesson +lessor +lethal +lethes +letted +letter +letups +leucin +leudes +leukon +levant +leveed +levees +levels +levers +levied +levier +levies +levins +levity +lewder +lewdly +lexeme +lexica +lezzes +lezzie +liable +liaise +lianas +lianes +liangs +liards +libber +libels +libers +libido +liblab +librae +libras +lichee +lichen +liches +lichis +lichts +licked +licker +lictor +lidars +lidded +lieder +liefer +liefly +lieges +lienal +lierne +liever +lifers +lifted +lifter +ligand +ligans +ligase +ligate +ligers +lights +lignan +lignin +ligula +ligule +ligure +likely +likens +likers +likest +liking +likuta +lilacs +lilied +lilies +lilted +limans +limbas +limbed +limber +limbic +limbos +limbus +limens +limeys +limier +limina +liming +limits +limmer +limned +limner +limnic +limpas +limped +limper +limpet +limpid +limply +limpsy +limuli +linacs +linage +linden +lineal +linear +linens +lineny +liners +lineup +lingam +lingas +linger +lingua +linier +lining +linins +linked +linker +linkup +linnet +linsey +linted +lintel +linter +lintol +linums +lipase +lipide +lipids +lipins +lipoid +lipoma +lipped +lippen +lipper +liquid +liquor +liroth +lisles +lisped +lisper +lissom +listed +listee +listel +listen +lister +litany +litchi +liters +lither +lithia +lithic +lithos +litmus +litres +litten +litter +little +lively +livens +livers +livery +livest +livier +living +livres +livyer +lizard +llamas +llanos +loaded +loader +loafed +loafer +loamed +loaned +loaner +loathe +loaves +lobate +lobbed +lobber +lobule +locale +locals +locate +lochan +lochia +locked +locker +locket +lockup +locoed +locoes +locule +loculi +locums +locust +lodens +lodged +lodger +lodges +lofted +lofter +logans +logged +logger +loggia +loggie +logics +logier +logily +logins +logion +logjam +logons +logway +loided +loiter +lolled +loller +lollop +lomein +loment +lonely +loners +longan +longed +longer +longes +longly +looeys +loofah +loofas +looies +looing +looked +looker +lookup +loomed +looney +loonie +looped +looper +loosed +loosen +looser +looses +looted +looter +lopers +loping +lopped +lopper +loquat +lorans +lorded +lordly +loreal +lorica +lories +losels +losers +losing +losses +lotahs +lotion +lotted +lotter +lottes +lottos +louche +louden +louder +loudly +loughs +louies +loumas +lounge +loungy +louped +loupen +loupes +loured +loused +louses +louted +louver +louvre +lovage +lovats +lovely +lovers +loving +lowboy +lowers +lowery +lowest +lowing +lowish +loxing +lubber +lubing +lubric +lucent +lucern +lucite +lucked +luckie +lucres +luetic +luffas +luffed +lugers +lugged +lugger +luggie +luging +lulled +luller +lumbar +lumber +lumens +lumina +lummox +lumped +lumpen +lumper +lunacy +lunars +lunate +lunets +lungan +lunged +lungee +lunger +lunges +lungis +lungyi +lunier +lunies +lunker +lunted +lunula +lunule +lupine +lupins +lupous +lurdan +lurers +luring +lurked +lurker +lushed +lusher +lushes +lushly +lusted +luster +lustra +lustre +luteal +lutein +luteum +luting +lutist +lutzes +luxate +luxury +lyases +lycees +lyceum +lychee +lyches +lycras +lyings +lymphs +lynxes +lyrate +lyrics +lyrism +lyrist +lysate +lysine +lysing +lysins +lyssas +lyttae +lyttas +macaco +macaws +macers +maches +machos +macing +mackle +macled +macles +macons +macron +macros +macula +macule +madame +madams +madcap +madded +madden +madder +madman +madmen +madras +madres +madtom +maduro +maenad +maffia +mafias +maftir +maggot +magian +magics +magilp +maglev +magmas +magnet +magnum +magots +magpie +maguey +mahoes +mahout +mahzor +maiden +maigre +maihem +mailed +mailer +mailes +maills +maimed +maimer +mainly +maists +maizes +majors +makars +makers +makeup +making +makuta +malady +malars +malate +malfed +malgre +malice +malign +maline +malkin +malled +mallee +mallei +mallet +mallow +maloti +malted +maltha +maltol +mambas +mambos +mameys +mamies +mamluk +mammae +mammal +mammas +mammee +mammer +mammet +mammey +mammie +mammon +mamzer +manage +manana +manats +manche +manege +manful +mangas +mangel +manger +manges +mangey +mangle +mangos +maniac +manias +manics +manila +manioc +manito +manitu +mannan +mannas +manned +manner +manors +manque +manses +mantas +mantel +mantes +mantic +mantid +mantis +mantle +mantra +mantua +manual +manure +maples +mapped +mapper +maquis +maraca +maraud +marble +marbly +marcel +margay +marges +margin +marina +marine +marish +markas +marked +marker +market +markka +markup +marled +marlin +marmot +maroon +marque +marram +marred +marrer +marron +marrow +marses +marshy +marted +marten +martin +martyr +marvel +masala +mascon +mascot +masers +mashed +masher +mashes +mashie +masjid +masked +maskeg +masker +masons +masque +massif +masted +master +mastic +mastix +maters +mateys +matier +mating +matins +matres +matrix +matron +matsah +matted +matter +mattes +mattin +mature +matzah +matzas +matzoh +matzos +matzot +mauger +maugre +mauled +mauler +maumet +maunds +maundy +mauves +mavens +mavies +mavins +mawing +maxima +maxims +maxing +maxixe +maybes +mayday +mayest +mayfly +mayhap +mayhem +maying +mayors +maypop +mayvin +mazard +mazers +mazier +mazily +mazing +mazuma +mbiras +meadow +meager +meagre +mealie +meaner +meanie +meanly +measle +measly +meatal +meated +meatus +meccas +medaka +medals +meddle +medfly +mediad +mediae +medial +median +medias +medick +medico +medics +medina +medium +medius +medlar +medley +medusa +meeker +meekly +meeter +meetly +megara +megilp +megohm +megrim +mehndi +meikle +meinie +melded +melder +melees +melena +melled +mellow +melody +meloid +melons +melted +melter +melton +member +memoir +memory +menace +menads +menage +mended +mender +menhir +menial +meninx +mensae +mensal +mensas +mensch +mensed +menses +mental +mentee +mentor +mentum +menudo +meoued +meowed +mercer +merces +merdes +merely +merest +merged +mergee +merger +merges +merino +merits +merles +merlin +merlon +merlot +merman +mermen +mescal +meshed +meshes +mesial +mesian +mesnes +mesons +messan +messed +messes +mestee +metage +metals +metate +meteor +metepa +meters +method +methyl +metier +meting +metols +metope +metred +metres +metric +metros +mettle +metump +mewing +mewled +mewler +mezcal +mezuza +mezzos +miaous +miaows +miasma +miasms +miauls +micell +miched +miches +mickey +mickle +micron +micros +midair +midcap +midday +midden +middle +midges +midget +midgut +midleg +midrib +midsts +midway +miffed +miggle +mights +mighty +mignon +mihrab +mikado +miking +mikron +mikvah +mikveh +mikvos +mikvot +miladi +milady +milage +milded +milden +milder +mildew +mildly +milers +milieu +milium +milked +milker +milled +miller +milles +millet +milneb +milord +milpas +milted +milter +mimbar +mimeos +mimers +mimics +miming +mimosa +minced +mincer +minces +minded +minder +miners +mingle +minify +minima +minims +mining +minion +minish +minium +minkes +minnow +minors +minted +minter +minuet +minute +minxes +minyan +mioses +miosis +miotic +mirage +mirier +miring +mirins +mirker +mirror +mirths +mirzas +misact +misadd +misaim +misate +miscue +miscut +misdid +miseat +misers +misery +misfed +misfit +mishap +miskal +mislay +misled +mislie +mislit +mismet +mispen +missal +missay +missed +missel +misses +misset +missis +missus +misted +mister +misuse +miters +mither +mitier +mitral +mitred +mitres +mitten +mixers +mixing +mixups +mizens +mizuna +mizzen +mizzle +mizzly +moaned +moaner +moated +mobbed +mobber +mobcap +mobile +mobled +mochas +mocked +mocker +mockup +modals +models +modems +modern +modest +modica +modify +modish +module +moduli +modulo +mogged +moggie +moghul +moguls +mohair +mohawk +mohels +mohurs +moiety +moiled +moiler +moirai +moires +mojoes +molars +molded +molder +molies +moline +mollah +mollie +moloch +molted +molten +molter +moment +mommas +momser +momzer +monads +mondes +mondos +moneys +monger +mongoe +mongol +mongos +mongst +monied +monies +monish +monism +monist +monkey +monody +montes +months +mooing +moolah +moolas +mooley +mooned +mooner +moored +mooted +mooter +mopeds +mopers +mopery +mopier +moping +mopish +mopoke +mopped +mopper +moppet +morale +morals +morays +morbid +moreen +morels +morgan +morgen +morgue +morion +morons +morose +morpho +morphs +morris +morros +morrow +morsel +mortal +mortar +morula +mosaic +moseys +moshav +moshed +mosher +moshes +mosque +mossed +mosser +mosses +mostly +motels +motets +mother +motifs +motile +motion +motive +motley +motmot +motors +mottes +mottle +mottos +moujik +moulds +mouldy +moulin +moults +mounds +mounts +mourns +moused +mouser +mouses +mousey +mousse +mouths +mouthy +mouton +movers +movies +moving +mowers +mowing +moxies +muches +muchly +mucins +mucked +mucker +muckle +mucluc +mucoid +mucors +mucosa +mucose +mucous +mudbug +mudcap +mudcat +mudded +mudder +muddle +muddly +mudhen +mudras +muesli +muffed +muffin +muffle +muftis +mugful +muggar +mugged +muggee +mugger +muggur +mughal +mujiks +mukluk +muktuk +mulcts +muleta +muleys +muling +mulish +mullah +mullas +mulled +mullen +muller +mullet +mulley +mumble +mumbly +mummed +mummer +mumped +mumper +mungos +muntin +muonic +murals +murder +murein +murids +murine +muring +murker +murkly +murmur +murphy +murras +murres +murrey +murrha +muscae +muscat +muscid +muscle +muscly +musers +museum +mushed +musher +mushes +musick +musics +musing +musjid +muskeg +musket +muskie +muskit +muskox +muslin +mussed +mussel +musses +musted +mustee +muster +musths +mutant +mutase +mutate +mutely +mutest +mutine +muting +mutiny +mutism +mutons +mutter +mutton +mutual +mutuel +mutule +muumuu +muzhik +muzjik +muzzle +myases +myasis +mycele +myelin +mylars +mynahs +myomas +myopes +myopia +myopic +myoses +myosin +myosis +myotic +myriad +myrica +myrrhs +myrtle +myself +mysids +mysost +mystic +mythic +mythoi +mythos +myxoid +myxoma +nabbed +nabber +nabobs +nachas +naches +nachos +nacred +nacres +nadirs +naevus +naffed +nagana +nagged +nagger +naiads +nailed +nailer +nairas +nairus +naiver +naives +nakfas +naleds +namely +namers +naming +nances +nandin +nanism +nankin +nannie +napalm +napery +napkin +nappas +napped +napper +nappes +nappie +narcos +narial +narine +narked +narrow +narwal +nasals +nasial +nasion +nastic +natant +nation +native +natron +natter +nature +naught +nausea +nautch +navaid +navars +navels +navies +nawabs +naysay +nazify +nearby +neared +nearer +nearly +neaten +neater +neatly +nebula +nebule +nebuly +necked +necker +nectar +needed +needer +needle +negate +neighs +nekton +nellie +nelson +neocon +neoned +nepeta +nephew +nereid +nereis +neroli +nerols +nerved +nerves +nesses +nested +nester +nestle +nestor +nether +netops +netted +netter +nettle +nettly +neumes +neumic +neural +neuron +neuter +nevoid +newbie +newels +newest +newies +newish +newsie +newton +niacin +nibbed +nibble +nicads +nicely +nicest +nicety +niched +niches +nicked +nickel +nicker +nickle +nicols +nidate +nidget +nidify +niding +nieces +nielli +niello +nieves +niffer +nigger +niggle +niggly +nighed +nigher +nights +nighty +nihils +nilgai +nilgau +nilled +nimble +nimbly +nimbus +nimmed +nimrod +ninety +ninjas +ninons +ninths +niobic +nipped +nipper +nipple +niseis +niters +nitery +nitons +nitres +nitric +nitrid +nitril +nitros +nitwit +nixies +nixing +nizams +nobble +nobler +nobles +nobody +nocent +nocked +nodded +nodder +noddle +nodose +nodous +nodule +noesis +noetic +nogged +noggin +noised +noises +nomads +nomina +nomism +nonage +nonart +nonces +noncom +nonego +nonets +nonfan +nonfat +nongay +nonman +nonmen +nonpar +nontax +nonuse +nonwar +nonyls +noodge +noodle +noogie +nookie +noosed +nooser +nooses +nopals +nordic +norias +norite +normal +normed +norths +noshed +nosher +noshes +nosier +nosily +nosing +nostoc +notary +notate +noters +nother +notice +notify +noting +notion +nougat +nought +nounal +nouses +novels +novena +novice +noways +nowise +noyade +nozzle +nuance +nubbin +nubble +nubbly +nubias +nubile +nubuck +nuchae +nuchal +nuclei +nudely +nudest +nudged +nudger +nudges +nudies +nudism +nudist +nudity +nudnik +nugget +nuking +nullah +nulled +numbat +numbed +number +numbly +numina +nuncio +nuncle +nurled +nursed +nurser +nurses +nutant +nutate +nutlet +nutmeg +nutria +nuzzle +nyalas +oafish +oakier +oakums +oaring +oaters +obeahs +obelia +obelus +obento +obeyed +obeyer +obiism +object +objets +oblast +oblate +oblige +oblong +oboist +oboles +obolus +obsess +obtain +obtect +obtest +obtund +obtuse +obvert +occult +occupy +occurs +oceans +ocelli +ocelot +ochers +ochery +ochone +ochrea +ochred +ochres +ocicat +ockers +ocreae +octads +octane +octans +octant +octave +octavo +octets +octopi +octroi +octyls +ocular +oculus +oddest +oddish +oddity +odeons +odeums +odious +odists +odiums +odored +odours +odyles +oedema +oeuvre +offals +offcut +offend +offers +office +offing +offish +offkey +offset +oftest +ogdoad +oghams +ogival +ogives +oglers +ogling +ogress +ogrish +ogrism +ohmage +oidium +oilcan +oilcup +oilers +oilier +oilily +oiling +oilman +oilmen +oilway +oinked +okapis +okayed +oldest +oldies +oldish +oleate +olefin +oleine +oleins +oleums +olingo +olives +omasum +ombers +ombres +omegas +omelet +omened +omenta +onager +onagri +onions +oniony +onlays +online +onload +onrush +onsets +onside +onuses +onward +onyxes +oocyst +oocyte +oodles +oogamy +oogeny +oohing +oolite +oolith +oology +oolong +oomiac +oomiak +oompah +oomphs +oorali +ootids +oozier +oozily +oozing +opaque +opened +opener +openly +operas +operon +ophite +opiate +opined +opines +opioid +opiums +oppose +oppugn +opsins +optics +optima +optime +opting +option +opuses +orache +oracle +orally +orange +orangs +orangy +orated +orates +orator +orbier +orbing +orbits +orcein +orchid +orchil +orchis +orcins +ordain +ordeal +orders +ordure +oreads +oreide +orfray +organs +orgone +oribis +oriels +orient +origan +origin +oriole +orisha +orison +orlons +orlops +ormers +ormolu +ornate +ornery +oroide +orphan +orphic +orpine +orpins +orrery +orrice +oryxes +oscine +oscula +oscule +osetra +osiers +osmics +osmium +osmole +osmols +osmose +osmous +osmund +osprey +ossein +ossify +osteal +ostium +ostler +ostomy +otalgy +others +otiose +otitic +otitis +ottars +ottava +otters +ouched +ouches +oughts +ounces +ouphes +ourang +ourari +ourebi +ousels +ousted +ouster +outact +outadd +outage +outask +outate +outbeg +outbid +outbox +outbuy +outbye +outcry +outdid +outeat +outers +outfit +outfly +outfox +outgas +outgun +outhit +outing +outjut +outlaw +outlay +outled +outlet +outlie +outman +output +outran +outrig +outrow +outrun +outsat +outsaw +outsay +outsee +outset +outsin +outsit +outvie +outwar +outwit +ouzels +ovally +overdo +overed +overly +ovibos +ovines +ovisac +ovoids +ovolos +ovonic +ovular +ovules +owlets +owlish +owners +owning +oxalic +oxalis +oxbows +oxcart +oxeyes +oxford +oxides +oxidic +oximes +oxlike +oxlips +oxtail +oxters +oxygen +oyezes +oyster +ozalid +ozones +ozonic +pablum +pacers +pachas +pacier +pacify +pacing +packed +packer +packet +packly +padauk +padded +padder +paddle +padles +padnag +padouk +padres +paeans +paella +paeons +paesan +pagans +pagers +paging +pagoda +pagods +paiked +painch +pained +paints +painty +paired +paisan +paisas +pajama +pakeha +pakora +palace +palais +palapa +palate +paleae +paleal +palely +palest +palets +palier +paling +palish +palled +pallet +pallia +pallid +pallor +palmar +palmed +palmer +palpal +palped +palpus +palter +paltry +pampas +pamper +panada +panama +pandas +pander +pandit +panels +panfry +panful +pangas +panged +pangen +panics +panier +panini +panino +panned +panner +pannes +panted +pantie +pantos +pantry +panzer +papacy +papain +papaws +papaya +papers +papery +papism +papist +pappus +papula +papule +papyri +parade +paramo +parang +paraph +parcel +pardah +pardee +pardie +pardon +parent +pareos +parers +pareus +pareve +parged +parges +parget +pargos +pariah +parian +paries +paring +parish +parity +parkas +parked +parker +parlay +parled +parles +parley +parlor +parody +parole +parols +parous +parral +parred +parrel +parrot +parsec +parsed +parser +parses +parson +partan +parted +partly +parton +parura +parure +parvis +parvos +pascal +paseos +pashas +pashed +pashes +pastas +pasted +pastel +paster +pastes +pastie +pastil +pastis +pastor +pastry +pataca +patchy +patens +patent +paters +pathos +patina +patine +patins +patios +patois +patrol +patron +patted +pattee +patten +patter +pattie +patzer +paulin +paunch +pauper +pausal +paused +pauser +pauses +pavane +pavans +paveed +pavers +paving +pavins +pavior +pavise +pawers +pawing +pawned +pawnee +pawner +pawnor +pawpaw +paxwax +payday +payees +payers +paying +paynim +payoff +payola +payors +payout +pazazz +peaced +peaces +peachy +peages +peahen +peaked +pealed +peanut +pearls +pearly +peasen +peases +peavey +pebble +pebbly +pecans +pechan +peched +pecked +pecker +pecten +pectic +pectin +pedalo +pedals +pedant +pedate +peddle +pedlar +pedler +pedros +peeing +peeked +peeled +peeler +peened +peered +peerie +pegged +peined +peised +peises +pekans +pekins +pekoes +pelage +pelite +pellet +pelmet +pelota +pelted +pelter +peltry +pelves +pelvic +pelvis +penang +pencel +pencil +pended +pengos +penial +penile +penman +penmen +pennae +penned +penner +pennia +pennis +pennon +pensee +pensil +pentad +pentyl +penult +penury +peones +people +pepino +peplos +peplum +peplus +pepped +pepper +pepsin +peptic +peptid +perdie +perdue +perdus +pereia +pereon +perils +period +perish +periti +perked +permed +permit +pernio +pernod +peroxy +perron +perses +person +perter +pertly +peruke +peruse +pesade +peseta +pesewa +pester +pestle +pestos +petals +petard +peters +petite +petnap +petrel +petrol +petsai +petted +petter +pettle +pewees +pewits +pewter +peyote +peyotl +phages +pharos +phased +phases +phasic +phasis +phatic +phenix +phenol +phenom +phenyl +phials +phizes +phlegm +phloem +phobia +phobic +phoebe +phonal +phoned +phones +phoney +phonic +phonon +phonos +phooey +photic +photog +photon +photos +phrase +phreak +phylae +phylar +phylic +phyllo +phylon +phylum +physed +physes +physic +physis +phytin +phytol +phyton +piaffe +pianic +pianos +piazza +piazze +pibals +picara +picaro +pickax +picked +picker +picket +pickle +pickup +picnic +picots +picric +piculs +piddle +piddly +pidgin +pieced +piecer +pieces +pieing +pierce +pietas +piffle +pigeon +pigged +piggie +piggin +piglet +pignus +pignut +pigout +pigpen +pigsty +pikake +pikers +piking +pilaff +pilafs +pilaus +pilaws +pileum +pileup +pileus +pilfer +piling +pillar +pilled +pillow +pilose +pilots +pilous +pilule +pimped +pimple +pimply +pinang +pinata +pincer +pinder +pineal +pinene +pinery +pineta +pinged +pinger +pingos +pinier +pining +pinion +pinite +pinked +pinken +pinker +pinkey +pinkie +pinkly +pinkos +pinnae +pinnal +pinnas +pinned +pinner +pinole +pinons +pinots +pintas +pintle +pintos +pinups +pinyin +pinyon +piolet +pionic +pipage +pipals +pipers +pipets +pipier +piping +pipits +pipkin +pipped +pippin +piqued +piques +piquet +piracy +pirana +pirate +piraya +pirogi +piscos +pistil +pistol +piston +pistou +pitaya +pitchy +pithed +pitied +pitier +pities +pitman +pitmen +pitons +pitsaw +pittas +pitted +pivots +pixels +pixies +pizazz +pizzas +pizzaz +pizzle +placed +placer +places +placet +placid +placks +plagal +plages +plague +plaguy +plaice +plaids +plains +plaint +plaits +planar +planch +planed +planer +planes +planet +planks +plants +plaque +plashy +plasma +plasms +platan +plated +platen +plater +plates +platys +playas +played +player +plazas +pleach +pleads +please +pleats +plebes +pledge +pleiad +plench +plenty +plenum +pleons +pleura +plexal +plexes +plexor +plexus +pliant +plicae +plical +pliers +plight +plinks +plinth +plisky +plisse +ploidy +plonks +plotty +plough +plover +plowed +plower +ployed +plucks +plucky +plumbs +plumed +plumes +plummy +plumps +plunge +plunks +plunky +plural +pluses +plushy +plutei +pluton +plyers +plying +pneuma +poachy +poboys +pocked +pocket +podded +podite +podium +podsol +podzol +poetic +poetry +pogeys +pogies +pogrom +poilus +poinds +pointe +points +pointy +poised +poiser +poises +poisha +poison +pokers +pokeys +pokier +pokies +pokily +poking +polars +polder +poleax +poleis +polers +poleyn +police +policy +polies +poling +polios +polish +polite +polity +polkas +polled +pollee +pollen +poller +pollex +polyol +polypi +polyps +pomace +pomade +pomelo +pommee +pommel +pommie +pompom +pompon +ponced +ponces +poncho +ponded +ponder +ponent +ponged +pongee +pongid +ponied +ponies +pontes +pontil +ponton +poodle +poohed +pooing +pooled +pooler +pooped +poorer +pooris +poorly +pooves +popery +popgun +popish +poplar +poplin +poppas +popped +popper +poppet +popple +popsie +poring +porism +porked +porker +pornos +porose +porous +portal +ported +porter +portly +posada +posers +poseur +posher +poshly +posies +posing +posits +posole +posses +posset +possum +postal +posted +poster +postie +postin +postop +potage +potash +potato +potboy +poteen +potent +potful +pother +pothos +potion +potman +potmen +potpie +potsie +potted +potter +pottle +pottos +potzer +pouchy +poufed +pouffe +pouffs +pouffy +poults +pounce +pounds +poured +pourer +pouted +pouter +powder +powers +powter +powwow +poxier +poxing +poyous +pozole +praams +prahus +praise +prajna +prance +prangs +pranks +prases +prated +prater +prates +prawns +praxes +praxis +prayed +prayer +preach +preact +preamp +prearm +prebid +prebuy +precis +precut +predry +preens +prefab +prefer +prefix +prelaw +prelim +preman +premed +premen +premie +premix +preops +prepay +preppy +preset +presto +prests +pretax +pretor +pretty +prevue +prewar +prexes +preyed +preyer +prezes +priapi +priced +pricer +prices +pricey +prided +prides +priers +priest +prills +primal +primas +primed +primer +primes +primly +primos +primps +primus +prince +prinks +prints +prions +priors +priory +prised +prises +prisms +prison +prissy +privet +prized +prizer +prizes +probed +prober +probes +probit +proems +profit +progun +projet +prolan +proleg +proles +prolix +prolog +promos +prompt +prongs +pronto +proofs +propel +proper +propyl +prosed +proser +proses +prosit +prosos +protea +protei +proton +protyl +proved +proven +prover +proves +prowar +prower +prowls +prudes +pruned +pruner +prunes +prunus +prutah +prutot +pryers +prying +psalms +pseudo +pseuds +pshaws +psocid +psyche +psycho +psychs +psylla +psyops +psywar +pterin +ptisan +ptooey +ptoses +ptosis +ptotic +public +pucker +puddle +puddly +pueblo +puffed +puffer +puffin +pugged +puggry +pugree +puisne +pujahs +puking +pulers +puling +pulled +puller +pullet +pulley +pullup +pulpal +pulped +pulper +pulpit +pulque +pulsar +pulsed +pulser +pulses +pumelo +pumice +pummel +pumped +pumper +punchy +pundit +pungle +punier +punily +punish +punjis +punkah +punkas +punker +punkey +punkie +punkin +punned +punner +punnet +punted +punter +puntos +pupate +pupils +pupped +puppet +purana +purdah +purdas +pureed +purees +purely +purest +purfle +purged +purger +purges +purify +purine +purins +purism +purist +purity +purled +purlin +purple +purply +purred +pursed +purser +purses +pursue +purvey +pushed +pusher +pushes +pushup +pusley +pusses +pussly +putlog +putoff +putons +putout +putrid +putsch +putted +puttee +putter +puttie +putzed +putzes +puzzle +pyemia +pyemic +pyjama +pyknic +pylons +pylori +pyoses +pyosis +pyrans +pyrene +pyrite +pyrola +pyrone +pyrope +pyrrol +python +pyuria +pyxies +qabala +qanats +qindar +qintar +qiviut +quacks +quacky +quaere +quaffs +quagga +quaggy +quahog +quaich +quaigh +quails +quaint +quaked +quaker +quakes +qualia +qualms +qualmy +quango +quanta +quants +quarks +quarry +quarte +quarto +quarts +quartz +quasar +quatre +quaver +qubits +qubyte +queans +queasy +queazy +queens +queers +quelea +quells +quench +querns +quests +queued +queuer +queues +quezal +quiche +quicks +quiets +quiffs +quills +quilts +quince +quinic +quinin +quinoa +quinol +quinsy +quinta +quinte +quints +quippu +quippy +quipus +quired +quires +quirks +quirky +quirts +quitch +quiver +quohog +quoins +quoits +quokka +quolls +quorum +quotas +quoted +quoter +quotes +quotha +qurush +qwerty +rabato +rabats +rabbet +rabbin +rabbis +rabbit +rabble +rabies +raceme +racers +rachet +rachis +racier +racily +racing +racked +racker +racket +rackle +racons +racoon +radars +radded +raddle +radial +radian +radios +radish +radium +radius +radome +radons +radula +raffia +raffle +rafted +rafter +ragbag +ragees +ragged +raggee +raggle +raging +raglan +ragman +ragmen +ragout +ragtag +ragtop +raided +raider +railed +railer +rained +raised +raiser +raises +raisin +raitas +rajahs +rakees +rakers +raking +rakish +rallye +ralphs +ramada +ramate +rambla +ramble +ramees +ramets +ramies +ramify +ramjet +rammed +rammer +ramona +ramose +ramous +ramped +ramrod +ramson +ramtil +rances +rancho +rancid +rancor +randan +random +ranees +ranged +ranger +ranges +ranids +ranked +ranker +rankle +rankly +ransom +ranted +ranter +ranula +rarefy +rarely +rarest +rarify +raring +rarity +rascal +rasers +rasher +rashes +rashly +rasing +rasped +rasper +rassle +raster +rasure +ratals +ratans +ratany +ratbag +ratels +raters +rather +ratify +ratine +rating +ration +ratios +ratite +ratlin +ratoon +rattan +ratted +ratten +ratter +rattle +rattly +ratton +raunch +ravage +ravels +ravens +ravers +ravine +raving +ravins +ravish +rawest +rawins +rawish +raxing +rayahs +raying +rayons +razeed +razees +razers +razing +razors +razzed +razzes +reacts +readds +reader +reagin +realer +reales +realia +really +realms +realty +reamed +reamer +reaped +reaper +reared +rearer +rearms +reason +reatas +reaved +reaver +reaves +reavow +rebait +rebars +rebate +rebato +rebbes +rebeck +rebecs +rebels +rebids +rebill +rebind +rebody +reboil +rebook +reboot +rebops +rebore +reborn +rebozo +rebred +rebuff +rebuke +rebury +rebuts +rebuys +recall +recane +recant +recaps +recast +recces +recede +recent +recept +recess +rechew +recipe +recite +recits +recked +reckon +reclad +recoal +recoat +recock +recode +recoil +recoin +recomb +recons +recook +recopy +record +recork +recoup +rectal +rector +rectos +rectum +rectus +recurs +recuse +recuts +redact +redans +redate +redbay +redbud +redbug +redcap +redded +redden +redder +reddle +redear +redeem +redefy +redeny +redeye +redfin +rediae +redial +redias +reding +redips +redipt +redleg +redock +redoes +redone +redons +redout +redowa +redraw +redrew +redtop +redubs +reduce +redyed +redyes +reearn +reecho +reechy +reeded +reedit +reefed +reefer +reeked +reeker +reeled +reeler +reemit +reests +reeved +reeves +reface +refall +refect +refeed +refeel +refell +refels +refelt +refers +reffed +refile +refill +refilm +refind +refine +refire +refits +reflag +reflet +reflew +reflex +reflow +reflux +refold +reform +refuel +refuge +refund +refuse +refute +regain +regale +regard +regave +regear +regent +reggae +regild +regilt +regime +regina +region +regius +regive +reglet +reglow +reglue +regnal +regnum +regret +regrew +regrow +reguli +rehabs +rehang +rehash +rehear +reheat +reheel +rehems +rehire +rehung +reigns +reined +reinks +reived +reiver +reives +reject +rejigs +rejoin +rekeys +reknit +reknot +relace +relaid +reland +relate +relays +relend +relent +relets +releve +relics +relict +relied +relief +relier +relies +reline +relink +relish +relist +relive +reload +reloan +relock +relook +reluct +relume +remade +remail +remain +remake +remand +remans +remaps +remark +remate +remedy +remeet +remelt +remend +remind +remint +remise +remiss +remits +remixt +remold +remora +remote +remove +remuda +renail +rename +rended +render +renege +renest +renews +renigs +renins +rennet +rennin +renown +rental +rented +renter +rentes +renvoi +reoils +reopen +repack +repaid +repair +repand +repark +repass +repast +repave +repays +repeal +repeat +repegs +repels +repent +reperk +repine +repins +replan +replay +repled +replot +replow +repoll +report +repose +repots +repour +repped +repros +repugn +repump +repute +requin +rerack +reread +rerent +rerigs +rerise +reroll +reroof +rerose +reruns +resaid +resail +resale +resawn +resaws +resays +rescue +reseal +reseat +reseau +resect +reseda +reseed +reseek +reseen +resees +resell +resend +resent +resets +resewn +resews +reshes +reship +reshod +reshoe +reshot +reshow +reside +resids +resift +resign +resile +resins +resiny +resist +resite +resits +resize +resoak +resods +resold +resole +resorb +resort +resown +resows +respot +rested +rester +result +resume +retack +retags +retail +retain +retake +retape +reteam +retear +retell +retems +retene +retest +retial +retied +reties +retile +retime +retina +retine +retint +retire +retold +retook +retool +retore +retorn +retort +retral +retrim +retros +retted +retune +return +retuse +retype +reused +reuses +revamp +reveal +revels +reverb +revere +revers +revert +revery +revest +revets +review +revile +revise +revive +revoke +revolt +revote +revues +revved +rewake +reward +rewarm +rewash +rewear +reweds +reweld +rewets +rewind +rewins +rewire +rewoke +reword +rewore +rework +reworn +rewove +rewrap +rexine +rezero +rezone +rhaphe +rhebok +rhemes +rhesus +rhetor +rheums +rheumy +rhinal +rhinos +rhodic +rhombi +rhombs +rhotic +rhumba +rhumbs +rhuses +rhymed +rhymer +rhymes +rhythm +rhyton +rialto +riatas +ribald +riband +ribbed +ribber +ribbon +ribier +riblet +ribose +ricers +richen +richer +riches +richly +ricing +ricins +ricked +rickey +ricrac +rictal +rictus +ridded +ridden +ridder +riddle +rident +riders +ridged +ridgel +ridges +ridgil +riding +ridley +riever +rifely +rifest +riffed +riffle +rifled +rifler +rifles +riflip +rifted +rigged +rigger +righto +rights +righty +rigors +rigour +riling +rilled +rilles +rillet +rimers +rimier +riming +rimmed +rimmer +rimose +rimous +rimple +rinded +ringed +ringer +rinsed +rinser +rinses +riojas +rioted +rioter +ripely +ripens +ripest +riping +ripoff +ripost +ripped +ripper +ripple +ripply +riprap +ripsaw +risers +rishis +rising +risked +risker +risque +ristra +ritard +ritter +ritual +ritzes +rivage +rivals +rivers +rivets +riving +riyals +roadeo +roadie +roamed +roamer +roared +roarer +roasts +robalo +roband +robbed +robber +robbin +robing +robins +robles +robots +robust +rochet +rocked +rocker +rocket +rococo +rodded +rodent +rodeos +rodman +rodmen +rogers +rogued +rogues +roiled +rolfed +rolfer +rolled +roller +romaji +romano +romans +romeos +romped +romper +rondel +rondos +ronion +ronnel +ronyon +roofed +roofer +roofie +rooked +rookie +roomed +roomer +roomie +roosed +rooser +rooses +roosts +rooted +rooter +rootle +ropers +ropery +ropier +ropily +roping +roques +roquet +rosary +roscoe +rosery +rosets +roshis +rosier +rosily +rosing +rosins +rosiny +roster +rostra +rotary +rotate +rotche +rotgut +rotors +rotted +rotten +rotter +rottes +rotund +rouble +rouche +rouens +rouged +rouges +roughs +roughy +rounds +rouped +roupet +roused +rouser +rouses +rousts +routed +router +routes +rouths +rovers +roving +rowans +rowels +rowens +rowers +rowing +rowths +royals +rozzer +ruanas +rubace +rubati +rubato +rubbed +rubber +rubble +rubbly +rubels +rubied +rubier +rubies +rubigo +rubles +ruboff +rubout +rubric +ruched +ruches +rucked +ruckle +ruckus +rudder +ruddle +rudely +rudery +rudest +rueful +ruffed +ruffes +ruffle +ruffly +rufous +rugate +rugged +rugger +rugola +rugosa +rugose +rugous +ruined +ruiner +rulers +rulier +ruling +rumaki +rumbas +rumble +rumbly +rumens +rumina +rummer +rumors +rumour +rumple +rumply +rumpus +rundle +runkle +runlet +runnel +runner +runoff +runout +runway +rupees +rupiah +rurban +rushed +rushee +rusher +rushes +rusine +russet +rusted +rustic +rustle +rutile +rutins +rutted +ryking +ryokan +sabals +sabbat +sabbed +sabers +sabine +sabins +sabirs +sables +sabots +sabras +sabred +sabres +sacbut +sachem +sachet +sacked +sacker +sacque +sacral +sacred +sacrum +sadden +sadder +saddhu +saddle +sadhes +sadhus +sadism +sadist +safari +safely +safest +safety +safrol +sagbut +sagely +sagest +saggar +sagged +sagger +sagier +sahibs +saices +saigas +sailed +sailer +sailor +saimin +sained +saints +saithe +saiyid +sajous +sakers +salaam +salads +salals +salami +salary +saleps +salify +salina +saline +saliva +sallet +sallow +salmis +salmon +salols +salons +saloon +saloop +salpae +salpas +salpid +salsas +salted +salter +saltie +saluki +salute +salved +salver +salves +salvia +salvor +salvos +samara +sambal +sambar +sambas +sambos +sambur +samech +samekh +sameks +samiel +samite +samlet +samosa +sampan +sample +samshu +sancta +sandal +sanded +sander +sandhi +sanely +sanest +sangar +sangas +sanger +sanghs +sanies +saning +sanity +sanjak +sannop +sannup +sansar +sansei +santir +santol +santos +santur +sapors +sapota +sapote +sapour +sapped +sapper +sarans +sarape +sardar +sarees +sarges +sargos +sarins +sarode +sarods +sarong +sarsar +sarsen +sartor +sashay +sashed +sashes +sasins +sassed +sasses +satang +satara +satays +sateen +sating +satins +satiny +satire +satori +satrap +satyrs +sauced +saucer +sauces +sauchs +sauger +saughs +saughy +saults +saunas +saurel +sauted +sautes +savage +savant +savate +savers +savine +saving +savins +savior +savors +savory +savour +savoys +sawers +sawfly +sawing +sawlog +sawney +sawyer +saxony +sayeds +sayers +sayest +sayids +saying +sayyid +scabby +scalar +scalds +scaled +scaler +scales +scalls +scalps +scampi +scamps +scants +scanty +scaped +scapes +scarab +scarce +scared +scarer +scares +scarey +scarfs +scarph +scarps +scarry +scarts +scathe +scatts +scatty +scaups +scaurs +scenas +scends +scenes +scenic +scents +schavs +schema +scheme +schism +schist +schizo +schizy +schlep +schlub +schmoe +schmos +schnoz +school +schorl +schrik +schrod +schtik +schuit +schuln +schuls +schuss +schwas +scilla +scions +sclaff +sclera +scoffs +scolds +scolex +sconce +scones +scooch +scoops +scoots +scoped +scopes +scorch +scored +scorer +scores +scoria +scorns +scotch +scoter +scotia +scours +scouse +scouth +scouts +scowed +scowls +scrags +scrams +scrape +scraps +scrawl +screak +scream +screed +screen +screes +screws +screwy +scribe +scried +scries +scrimp +scrims +scrips +script +scrive +scrods +scroll +scroop +scrota +scrubs +scruff +scrums +scubas +scuffs +sculch +sculks +sculls +sculps +sculpt +scummy +scurfs +scurfy +scurry +scurvy +scutch +scutes +scutum +scuzzy +scyphi +scythe +seabag +seabed +seadog +sealed +sealer +seaman +seamed +seamen +seamer +seance +search +seared +searer +season +seated +seater +seawan +seaway +sebums +secant +seccos +secede +secern +second +secpar +secret +sector +secund +secure +sedans +sedate +seders +sedges +sedile +seduce +sedums +seeded +seeder +seeing +seeker +seeled +seemed +seemer +seemly +seeped +seesaw +seethe +seggar +segnos +segued +segues +seiche +seidel +seined +seiner +seines +seised +seiser +seises +seisin +seisms +seisor +seitan +seized +seizer +seizes +seizin +seizor +sejant +selahs +seldom +select +selfed +selkie +seller +selles +selsyn +selvas +selves +sememe +semple +sempre +senary +senate +sendal +sended +sender +sendup +seneca +senega +senhor +senile +senior +seniti +sennas +sennet +sennit +senora +senors +senryu +sensed +sensei +senses +sensor +sensum +sentry +sepals +sepias +sepoys +sepses +sepsis +septal +septet +septic +septum +sequel +sequin +seracs +serail +serais +serape +seraph +serdab +serein +serene +serest +serged +serger +serges +serial +series +serifs +serine +sering +serins +sermon +serosa +serous +serows +serums +serval +served +server +serves +servos +sesame +sestet +setoff +setons +setose +setous +setout +settee +setter +settle +setups +sevens +severe +severs +sewage +sewans +sewars +sewers +sewing +shabby +shacko +shacks +shaded +shader +shades +shadow +shaduf +shafts +shaggy +shaird +shairn +shaken +shaker +shakes +shakos +shaled +shales +shaley +shalom +shaman +shamas +shamed +shames +shammy +shamos +shamoy +shamus +shandy +shanks +shanny +shanti +shanty +shaped +shapen +shaper +shapes +shards +shared +sharer +shares +sharia +sharif +sharks +sharns +sharny +sharps +sharpy +shaugh +shauls +shaved +shaven +shaver +shaves +shavie +shawed +shawls +shawms +shazam +sheafs +sheals +shears +sheath +sheave +sheens +sheeny +sheers +sheesh +sheets +sheeve +sheikh +sheiks +sheila +shekel +shells +shelly +shelta +shelty +shelve +shelvy +shends +sheols +sheqel +sherds +sherif +sherpa +sherry +sheuch +sheugh +shewed +shewer +shibah +shield +shiels +shiers +shiest +shifts +shifty +shikar +shiksa +shikse +shills +shimmy +shindy +shined +shiner +shines +shinny +shires +shirks +shirrs +shirts +shirty +shists +shivah +shivas +shiver +shives +shlepp +shleps +shlock +shlubs +shlump +shmear +shmoes +shmuck +shnaps +shnook +shoals +shoaly +shoats +shocks +shoddy +shoers +shofar +shogis +shogun +shojis +sholom +shooed +shooks +shools +shoots +shoppe +shoran +shored +shores +shorls +shorts +shorty +shotes +shotts +should +shouts +shoved +shovel +shover +shoves +showed +shower +shoyus +shrank +shreds +shrewd +shrews +shriek +shrift +shrike +shrill +shrimp +shrine +shrink +shrive +shroff +shroud +shrove +shrubs +shrugs +shrunk +shtetl +shtick +shtiks +shucks +shunts +shuted +shutes +shyers +shyest +shying +sialic +sialid +sibyls +siccan +sicced +sicked +sickee +sicken +sicker +sickie +sickle +sickly +sickos +siddur +siding +sidled +sidler +sidles +sieged +sieges +sienna +sierra +siesta +sieurs +sieved +sieves +sifaka +sifted +sifter +sighed +sigher +sights +sigils +sigloi +siglos +siglum +sigmas +signal +signed +signee +signer +signet +signor +silage +silane +sileni +silent +silica +silked +silken +silkie +siller +siloed +silted +silvae +silvan +silvas +silver +silvex +simars +simian +simile +simlin +simmer +simnel +simony +simoom +simoon +simper +simple +simply +sinews +sinewy +sinful +singed +singer +singes +single +singly +sinker +sinned +sinner +sinter +siphon +siping +sipped +sipper +sippet +sirdar +sirees +sirens +siring +sirrah +sirras +sirree +sirups +sirupy +sisals +siskin +sisses +sister +sistra +sitars +sitcom +siting +sitten +sitter +situps +sivers +sixmos +sixtes +sixths +sizars +sizers +sizier +sizing +sizzle +skalds +skated +skater +skates +skatol +skeane +skeans +skeens +skeets +skeigh +skeins +skells +skelms +skelps +skenes +skerry +sketch +skewed +skewer +skibob +skiddy +skidoo +skiers +skiffs +skiing +skills +skimos +skimps +skimpy +skinks +skinny +skirls +skirrs +skirts +skited +skites +skived +skiver +skives +skivvy +sklent +skoals +skorts +skulks +skulls +skunks +skunky +skybox +skycap +skying +skylit +skyman +skymen +skyway +slacks +slaggy +slaked +slaker +slakes +slalom +slangs +slangy +slants +slanty +slatch +slated +slater +slates +slatey +slaved +slaver +slaves +slavey +slayed +slayer +sleave +sleaze +sleazo +sleazy +sledge +sleeks +sleeky +sleeps +sleepy +sleets +sleety +sleeve +sleigh +sleuth +slewed +sliced +slicer +slices +slicks +slider +slides +sliest +slieve +slight +slimed +slimes +slimly +slimsy +slings +slinks +slinky +sliped +slipes +slippy +slipup +slitty +sliver +slobby +slogan +sloids +slojds +sloops +sloped +sloper +slopes +sloppy +sloshy +sloths +slouch +slough +sloven +slowed +slower +slowly +sloyds +sludge +sludgy +sluffs +sluice +sluicy +sluing +slummy +slumps +slurbs +slurps +slurry +slushy +slyest +slypes +smacks +smalls +smalti +smalto +smalts +smarms +smarmy +smarts +smarty +smazes +smears +smeary +smeeks +smegma +smells +smelly +smelts +smerks +smidge +smilax +smiled +smiler +smiles +smiley +smirch +smirks +smirky +smiter +smites +smiths +smithy +smocks +smoggy +smoked +smoker +smokes +smokey +smolts +smooch +smoosh +smooth +smudge +smudgy +smugly +smutch +smutty +snacks +snafus +snaggy +snails +snaked +snakes +snakey +snappy +snared +snarer +snares +snarfs +snarks +snarky +snarls +snarly +snatch +snathe +snaths +snawed +snazzy +sneaks +sneaky +sneaps +snecks +sneers +sneery +sneesh +sneeze +sneezy +snells +snicks +snider +sniffs +sniffy +sniped +sniper +snipes +snippy +snitch +snivel +snobby +snoods +snooks +snools +snoops +snoopy +snoots +snooty +snooze +snoozy +snored +snorer +snores +snorts +snotty +snouts +snouty +snowed +snubby +snuffs +snuffy +snugly +soaked +soaker +soaped +soaper +soared +soarer +soaves +sobbed +sobber +sobeit +sobers +sobful +socage +soccer +social +socked +socket +socles +socman +socmen +sodded +sodden +sodium +soever +sofars +soffit +softas +soften +softer +softie +softly +sogged +soigne +soiled +soiree +sokols +solace +soland +solano +solans +solate +soldan +solder +solely +solemn +soleus +solgel +solidi +solids +soling +solion +soloed +solons +solums +solute +solved +solver +solves +somans +somata +somber +sombre +somite +somoni +sonant +sonars +sonata +sonder +sondes +sonics +sonnet +sonsie +sooner +sooted +soothe +sooths +sopite +sopors +sopped +sorbed +sorbet +sorbic +sordid +sordor +sorels +sorely +sorest +sorgho +sorgos +soring +sorned +sorner +sorrel +sorrow +sorted +sorter +sortie +sotols +sotted +souari +soucar +soudan +soughs +sought +souled +sounds +souped +source +soured +sourer +sourly +soused +souses +souter +souths +soviet +sovran +sowans +sowars +sowcar +sowens +sowers +sowing +sozine +sozins +spaced +spacer +spaces +spacey +spaded +spader +spades +spadix +spahee +spahis +spails +spaits +spales +spalls +spanks +spared +sparer +spares +sparge +sparid +sparks +sparky +sparry +sparse +spasms +spates +spathe +spavie +spavin +spawns +spayed +speaks +speans +spears +specie +specks +speech +speedo +speeds +speedy +speels +speers +speils +speirs +speise +speiss +spells +spelts +speltz +spence +spends +spendy +spense +spewed +spewer +sphene +sphere +sphery +sphinx +sphynx +spicae +spicas +spiced +spicer +spices +spicey +spicks +spider +spiels +spiers +spiffs +spiffy +spigot +spiked +spiker +spikes +spikey +spiled +spiles +spills +spilth +spinal +spined +spinel +spines +spinet +spinny +spinor +spinto +spiral +spirea +spired +spirem +spires +spirit +spirts +spital +spited +spites +spivvy +splake +splash +splats +splays +spleen +splent +splice +spliff +spline +splint +splits +splore +splosh +spodes +spoils +spoilt +spoked +spoken +spokes +sponge +spongy +spoofs +spoofy +spooks +spooky +spools +spoons +spoony +spoors +sporal +spored +spores +sports +sporty +spotty +spouse +spouts +sprags +sprain +sprang +sprats +sprawl +sprays +spread +sprees +sprent +sprier +sprigs +spring +sprint +sprite +sprits +spritz +sprout +spruce +sprucy +sprues +sprugs +sprung +spryer +spryly +spuing +spumed +spumes +spunks +spunky +spurge +spurns +spurry +spying +squabs +squads +squall +squama +square +squark +squash +squats +squawk +squaws +squeak +squeal +squegs +squibs +squids +squill +squint +squire +squirm +squirt +squish +squush +sradha +stable +stably +stacks +stacte +stades +stadia +staffs +staged +stager +stages +stagey +staggy +staigs +stains +stairs +staked +stakes +stalag +staled +staler +stales +stalks +stalky +stalls +stamen +stamps +stance +stanch +stands +staned +stanes +stangs +stanks +stanol +stanza +stapes +staphs +staple +starch +stared +starer +stares +starry +starts +starve +stases +stasis +statal +stated +stater +states +static +statin +stator +statue +status +staved +staves +stayed +stayer +steads +steady +steaks +steals +steams +steamy +steeds +steeks +steels +steely +steeps +steers +steeve +steins +stelae +stelai +stelar +steles +stelic +stella +stemma +stemmy +stench +stenos +stents +steppe +stereo +steres +steric +sterna +sterns +sterol +stewed +stichs +sticks +sticky +stiffs +stifle +stigma +stiles +stills +stilly +stilts +stimes +stingo +stings +stingy +stinko +stinks +stinky +stints +stiped +stipel +stipes +stirks +stirps +stitch +stithy +stiver +stoats +stocks +stocky +stodge +stodgy +stogey +stogie +stoics +stoked +stoker +stokes +stoled +stolen +stoles +stolid +stolon +stomal +stomas +stomps +stoned +stoner +stones +stoney +stooge +stooks +stools +stoops +stoped +stoper +stopes +storax +stored +storer +stores +storey +storks +storms +stormy +stotin +stotts +stound +stoups +stoure +stours +stoury +stouts +stover +stoves +stowed +stowps +strafe +strain +strait +strake +strand +strang +straps +strass +strata +strath +strati +straws +strawy +strays +streak +stream +streek +streel +street +streps +stress +strewn +strews +striae +strick +strict +stride +strife +strike +string +stripe +strips +stript +stripy +strive +strobe +strode +stroke +stroll +stroma +strong +strook +strops +stroud +strove +strown +strows +stroys +struck +struma +strums +strung +strunt +struts +stubby +stucco +studio +studly +stuffs +stuffy +stulls +stumps +stumpy +stunts +stupas +stupes +stupor +sturdy +sturts +stying +stylar +styled +styler +styles +stylet +stylus +stymie +styrax +suable +suably +suaver +subahs +subbed +subdeb +subdue +subers +subfix +subgum +subito +sublet +sublot +submit +subnet +suborn +subpar +subsea +subset +subtle +subtly +suburb +subway +succah +succor +sucres +sudary +sudden +sudors +sudsed +sudser +sudses +sueded +suedes +suffer +suffix +sugars +sugary +sughed +suints +suited +suiter +suites +suitor +sukkah +sukkot +sulcal +sulcus +suldan +sulfas +sulfid +sulfur +sulked +sulker +sullen +sulpha +sultan +sultry +sumach +sumacs +summae +summas +summed +summer +summit +summon +sunbow +sundae +sunder +sundew +sundog +sundry +sunken +sunket +sunlit +sunnah +sunnas +sunned +sunray +sunset +suntan +sunups +superb +supers +supine +supped +supper +supple +supply +surahs +surely +surest +surety +surfed +surfer +surged +surger +surges +surimi +surras +surrey +surtax +survey +sushis +suslik +sussed +susses +sutler +sutras +suttas +suttee +suture +svaraj +svelte +swabby +swaged +swager +swages +swails +swains +swales +swamis +swamps +swampy +swanks +swanky +swanny +swaraj +swards +swarfs +swarms +swarth +swarty +swatch +swathe +swaths +swayed +swayer +swears +sweats +sweaty +swedes +sweeny +sweeps +sweepy +sweets +swells +swerve +sweven +swifts +swills +swimmy +swinge +swings +swingy +swinks +swiped +swipes +swiple +swirls +swirly +swishy +switch +swithe +swived +swivel +swives +swivet +swoons +swoony +swoops +swoopy +swoosh +swords +swound +swouns +syboes +sycees +sylphs +sylphy +sylvae +sylvan +sylvas +sylvin +symbol +synced +synchs +syncom +syndet +syndic +syngas +synods +syntax +synths +synura +sypher +syphon +syrens +syrinx +syrups +syrupy +sysops +system +syzygy +tabard +tabbed +tabbis +tabers +tablas +tabled +tables +tablet +taboos +tabors +tabour +tabued +tabuli +tabuns +taches +tacked +tacker +tacket +tackey +tackle +tactic +taenia +taffia +tafias +tagged +tagger +tagrag +tahini +tahsil +taigas +tailed +tailer +taille +tailor +taints +taipan +takahe +takers +takeup +taking +takins +talars +talced +talcky +talcum +talent +talers +talion +talked +talker +talkie +taller +tallis +tallit +tallol +tallow +talons +taluka +taluks +tamale +tamals +tamari +tambac +tambak +tambur +tamein +tamely +tamers +tamest +taming +tammie +tampan +tamped +tamper +tampon +tandem +tanged +tangle +tangly +tangos +tanist +tankas +tanked +tanker +tanned +tanner +tannic +tannin +tannoy +tanrec +tantra +tanuki +tapalo +tapers +tapeta +taping +tapirs +tapped +tapper +tappet +tarama +targes +target +tariff +taring +tarmac +tarnal +tarocs +taroks +tarots +tarpan +tarpon +tarred +tarres +tarsal +tarsia +tarsus +tartan +tartar +tarted +tarter +tartly +tarzan +tasked +tassel +tasses +tasset +tassie +tasted +taster +tastes +tatami +tatars +taters +tatsoi +tatted +tatter +tattie +tattle +tattoo +taught +taunts +tauons +taupes +tauted +tauten +tauter +tautly +tautog +tavern +tawdry +tawers +tawing +tawney +tawpie +tawsed +tawses +taxeme +taxers +taxied +taxies +taxing +taxite +taxman +taxmen +taxols +taxons +tazzas +teabox +teacup +teamed +teapot +teapoy +teared +tearer +teased +teasel +teaser +teases +teated +teazel +teazle +teched +techie +techno +tectal +tectum +tedded +tedder +tedium +teeing +teemed +teemer +teener +teensy +teepee +teeter +teethe +teflon +tegmen +teguas +teiids +teinds +tekkie +telcos +teledu +telega +telfer +telial +telium +teller +tellys +telnet +telome +telson +temped +tempeh +temper +temple +tempos +tempts +tenace +tenail +tenant +tended +tender +tendon +tendus +tenets +teniae +tenias +tenner +tennis +tenons +tenors +tenour +tenpin +tenrec +tensed +tenser +tenses +tensor +tented +tenter +tenths +tentie +tenues +tenuis +tenure +tenuti +tenuto +teopan +tepals +tepees +tepefy +tephra +tepoys +terais +teraph +terbia +terbic +tercel +terces +tercet +teredo +terete +tergal +tergum +termed +termer +termly +termor +ternes +terrae +terras +terret +territ +terror +terser +teslas +testae +tested +testee +tester +testes +testis +teston +tetany +tetchy +tether +tetrad +tetras +tetris +tetryl +tetter +tewing +thacks +thairm +thaler +thalli +thanes +thanks +tharms +thatch +thawed +thawer +thebes +thecae +thecal +thefts +thegns +theine +theins +theirs +theism +theist +themed +themes +thenal +thenar +thence +theory +theres +therme +therms +theses +thesis +thesps +thetas +thetic +thicks +thieve +thighs +thills +things +thinks +thinly +thiols +thiram +thirds +thirls +thirst +thirty +tholed +tholes +tholoi +tholos +thongs +thorax +thoria +thoric +thorns +thorny +thoron +thorpe +thorps +thoued +though +thrall +thrash +thrave +thrawn +thraws +thread +threap +threat +threep +threes +thresh +thrice +thrift +thrill +thrips +thrive +throat +throbs +throes +throne +throng +throve +thrown +throws +thrums +thrush +thrust +thujas +thulia +thumbs +thumps +thunks +thurls +thusly +thuyas +thwack +thwart +thymes +thymey +thymic +thymol +thymus +thyrse +thyrsi +tiaras +tibiae +tibial +tibias +ticals +ticced +ticked +ticker +ticket +tickle +tictac +tictoc +tidbit +tiddly +tidied +tidier +tidies +tidily +tiding +tieing +tiepin +tierce +tiered +tiffed +tiffin +tigers +tights +tiglon +tigons +tikkas +tilaks +tildes +tilers +tiling +tilled +tiller +tilted +tilter +tilths +timbal +timber +timbre +timely +timers +timing +tincal +tincts +tinder +tineal +tineas +tineid +tinful +tinged +tinges +tingle +tingly +tinier +tinily +tining +tinker +tinkle +tinkly +tinman +tinmen +tinned +tinner +tinpot +tinsel +tinted +tinter +tipcat +tipoff +tipped +tipper +tippet +tipple +tiptoe +tiptop +tirade +tiring +tirled +tisane +tissue +titans +tmeses +tmesis +toasts +toasty +tobies +tocher +tocsin +todays +toddle +todies +toecap +toeing +toffee +togaed +togate +togged +toggle +togues +toiled +toiler +toiles +toited +tokays +tokens +tokers +toking +tolane +tolans +tolars +toledo +toling +tolled +toller +toluic +toluid +toluol +toluyl +tolyls +tomans +tomato +tombac +tombak +tombal +tombed +tomboy +tomcat +tomcod +tommed +tomtit +tondos +toneme +toners +tongas +tonged +tonger +tongue +tonics +tonier +toning +tonish +tonlet +tonner +tonnes +tonsil +tooled +tooler +toonie +tooted +tooter +tooths +toothy +tootle +tootsy +topees +topers +topful +tophes +tophus +topics +toping +topped +topper +topple +toques +toquet +torahs +torchy +torero +torics +tories +toroid +torose +toroth +torous +torpid +torpor +torque +torrid +torses +torsks +torsos +tortas +torten +tortes +torula +toshes +tossed +tosser +tosses +tossup +totals +totems +toters +tother +toting +totted +totter +toucan +touche +touchy +toughs +toughy +toupee +toured +tourer +toused +touses +tousle +touted +touter +touzle +towage +toward +towels +towers +towery +towhee +towies +towing +townee +townie +toxics +toxine +toxins +toxoid +toyers +toying +toyish +toyons +traced +tracer +traces +tracks +tracts +traded +trader +trades +tragic +tragus +traiks +trails +trains +traits +tramel +tramps +trampy +trance +tranks +tranny +tranqs +trapan +trapes +trashy +trauma +travel +traves +trawls +treads +treats +treaty +treble +trebly +treens +trefah +tremor +trench +trends +trendy +trepan +trepid +tressy +trevet +triacs +triads +triage +trials +tribal +tribes +triced +tricep +trices +tricks +tricky +tricot +triene +triens +triers +trifid +trifle +trigly +trigon +trigos +trijet +trikes +trilby +trills +trimer +trimly +trinal +trined +trines +triode +triols +triose +tripes +triple +triply +tripod +tripos +trippy +triste +triter +triton +triune +trivet +trivia +troaks +trocar +troche +trocks +trogon +troika +troked +trokes +trolls +trolly +trompe +tromps +tronas +trones +troops +tropes +trophy +tropic +tropin +troths +trotyl +trough +troupe +trouts +trouty +trover +troves +trowed +trowel +trowth +truant +truced +truces +trucks +trudge +truest +truffe +truing +truism +trulls +trumps +trunks +trusts +trusty +truths +trying +tryout +tryste +trysts +tsades +tsadis +tsetse +tsking +tsktsk +tsores +tsoris +tsuris +tubate +tubbed +tubber +tubers +tubful +tubing +tubist +tubule +tuchun +tucked +tucker +tucket +tuffet +tufoli +tufted +tufter +tugged +tugger +tugrik +tuille +tuladi +tulips +tulles +tumble +tumefy +tumors +tumour +tumped +tumuli +tumult +tundra +tuners +tuneup +tunica +tunics +tuning +tunned +tunnel +tupelo +tupiks +tupped +tuques +turaco +turban +turbid +turbit +turbos +turbot +tureen +turfed +turgid +turgor +turion +turkey +turned +turner +turnip +turnon +turnup +turret +turtle +turves +tusche +tushed +tushes +tushie +tusked +tusker +tussah +tussal +tussar +tusseh +tusser +tusses +tussis +tussle +tussor +tussur +tutees +tutors +tutted +tuttis +tutued +tuxedo +tuyere +tuyers +twains +twangs +twangy +twanky +tweaks +tweaky +tweeds +tweedy +tweens +tweeny +tweets +tweeze +twelve +twenty +twerps +twibil +twiers +twiggy +twilit +twills +twined +twiner +twines +twinge +twirls +twirly +twirps +twists +twisty +twitch +twofer +twyers +tycoon +tymbal +tympan +tyning +typhon +typhus +typier +typify +typing +typist +tyrant +tyring +tythed +tythes +tzetze +tzuris +uakari +ubiety +ubique +udders +uglier +uglies +uglify +uglily +ugsome +uhlans +ukases +ulamas +ulcers +ulemas +ullage +ulster +ultima +ultimo +ultras +umamis +umbels +umbers +umbles +umbrae +umbral +umbras +umiack +umiacs +umiaks +umiaqs +umlaut +umping +umpire +unable +unaged +unakin +unarms +unawed +unaxed +unbale +unbans +unbars +unbear +unbelt +unbend +unbent +unbind +unbolt +unborn +unbred +unbusy +uncage +uncake +uncaps +uncase +uncast +unchic +unciae +uncial +uncini +unclad +uncles +unclip +unclog +uncoil +uncool +uncork +uncuff +uncurb +uncurl +uncute +undead +undies +undine +undock +undoer +undoes +undone +undraw +undrew +unduly +undyed +unease +uneasy +uneven +unfair +unfelt +unfits +unfixt +unfold +unfond +unfree +unfurl +ungird +ungirt +unglue +ungual +ungues +unguis +ungula +unhair +unhand +unhang +unhats +unhelm +unhewn +unholy +unhood +unhook +unhung +unhurt +unhusk +unific +unions +unipod +unique +unisex +unison +united +uniter +unites +unjams +unjust +unkend +unkent +unkept +unkind +unkink +unknit +unknot +unlace +unlade +unlaid +unlash +unlays +unlead +unless +unlike +unlink +unlive +unload +unlock +unmade +unmake +unmans +unmask +unmeet +unmesh +unmews +unmixt +unmold +unmoor +unmown +unnail +unopen +unpack +unpaid +unpegs +unpens +unpent +unpick +unpile +unpins +unplug +unpure +unread +unreal +unreel +unrent +unrest +unrigs +unripe +unrips +unrobe +unroll +unroof +unroot +unrove +unruly +unsafe +unsaid +unsawn +unsays +unseal +unseam +unseat +unseen +unsell +unsent +unsets +unsewn +unsews +unsexy +unshed +unship +unshod +unshut +unsnag +unsnap +unsold +unsown +unspun +unstep +unstop +unsung +unsunk +unsure +untack +untame +untidy +untied +unties +untold +untorn +untrim +untrod +untrue +untuck +untune +unused +unveil +unvext +unwary +unwell +unwept +unwind +unwise +unwish +unwits +unworn +unwove +unwrap +unyoke +unzips +upases +upbear +upbeat +upbind +upboil +upbore +upbows +upcast +upcoil +upcurl +updart +update +updive +updove +upends +upflow +upfold +upgaze +upgird +upgirt +upgrew +upgrow +upheap +upheld +uphill +uphold +uphove +uphroe +upkeep +upland +upleap +uplift +uplink +upload +upmost +uppers +uppile +upping +uppish +uppity +upprop +uprate +uprear +uprise +uproar +uproot +uprose +uprush +upsend +upsent +upsets +upshot +upside +upsize +upsoar +upstep +upstir +uptake +uptalk +uptear +uptick +uptilt +uptime +uptore +uptorn +uptoss +uptown +upturn +upwaft +upward +upwell +upwind +uracil +uraeus +urania +uranic +uranyl +urares +uraris +urases +urates +uratic +urbane +urbias +urchin +urease +uredia +uredos +ureide +uremia +uremic +ureter +uretic +urgent +urgers +urging +urials +urinal +urines +uropod +urping +ursids +ursine +urtext +uruses +usable +usably +usages +usance +useful +ushers +usneas +usques +usuals +usurer +usurps +uterus +utmost +utopia +utters +uveous +uvulae +uvular +uvulas +vacant +vacate +vacuum +vadose +vagary +vagile +vagrom +vaguer +vahine +vailed +vainer +vainly +vakeel +vakils +valets +valgus +valine +valise +valkyr +valley +valors +valour +valses +valued +valuer +values +valuta +valval +valvar +valved +valves +vamose +vamped +vamper +vandal +vandas +vanish +vanity +vanman +vanmen +vanned +vanner +vapors +vapory +vapour +varias +varied +varier +varies +varlet +varnas +varoom +varved +varves +vassal +vaster +vastly +vatful +vatted +vaults +vaulty +vaunts +vaunty +vaward +vealed +vealer +vector +veejay +veenas +veepee +veered +vegans +vegete +vegged +veggie +vegies +veiled +veiler +veinal +veined +veiner +velars +velate +velcro +veldts +vellum +veloce +velour +velure +velvet +vended +vendee +vender +vendor +vendue +veneer +venene +venery +venged +venges +venial +venine +venins +venire +venoms +venose +venous +vented +venter +venues +venule +verbal +verbid +verdin +verged +verger +verges +verier +verify +verily +verism +verist +verite +verity +vermes +vermin +vermis +vernal +vernix +versal +versed +verser +verses +verset +versos +verste +versts +versus +vertex +vertus +verves +vervet +vesica +vesper +vespid +vessel +vestal +vestas +vested +vestee +vestry +vetoed +vetoer +vetoes +vetted +vetter +vexers +vexils +vexing +viable +viably +vialed +viands +viatic +viator +vibist +vibrio +vicars +vicing +victim +victor +vicuna +videos +viewed +viewer +vigias +vigils +vigors +vigour +viking +vilely +vilest +vilify +villae +villas +villus +vimina +vinals +vincas +vineal +vinery +vinier +vinify +vining +vinous +vinyls +violas +violet +violin +vipers +virago +vireos +virgas +virgin +virile +virion +viroid +virtue +virtus +visaed +visage +visard +viscid +viscus +viseed +vising +vision +visits +visive +visors +vistas +visual +vitals +vitric +vittae +vittle +vivace +vivary +vivers +vivify +vixens +vizard +vizier +vizirs +vizors +vizsla +vocabs +vocals +vodkas +vodoun +vodous +voduns +vogued +voguer +vogues +voiced +voicer +voices +voided +voider +voiles +volant +volery +voling +volley +volost +voltes +volume +volute +volvas +volvox +vomers +vomica +voodoo +vortex +votary +voters +voting +votive +voudon +vowels +vowers +vowing +voyage +voyeur +vrooms +vrouws +vulgar +vulgus +vulvae +vulval +vulvar +vulvas +wabble +wabbly +wacker +wackes +wackos +wadded +wadder +waddie +waddle +waddly +waders +wadies +wading +wadmal +wadmel +wadmol +wadset +waeful +wafers +wafery +waffed +waffie +waffle +waffly +wafted +wafter +wagers +wagged +wagger +waggle +waggly +waggon +waging +wagons +wahine +wahoos +waifed +wailed +wailer +waired +waists +waited +waiter +waived +waiver +waives +wakame +wakens +wakers +wakiki +waking +walers +walies +waling +walked +walker +walkup +wallah +wallas +walled +wallet +wallie +wallop +wallow +walnut +walrus +wamble +wambly +wammus +wampum +wampus +wander +wandle +wangan +wangle +wangun +wanier +waning +wanion +wanned +wanner +wanted +wanter +wanton +wapiti +wapped +warble +warded +warden +warder +warier +warily +waring +warked +warmed +warmer +warmly +warmth +warmup +warned +warner +warped +warper +warred +warren +warsaw +warsle +warted +wasabi +washed +washer +washes +washup +wasted +waster +wastes +wastry +watape +wataps +waters +watery +watter +wattle +waucht +waught +wauked +wauled +wavers +wavery +waveys +wavier +wavies +wavily +waving +wawled +waxers +waxier +waxily +waxing +waylay +wazoos +weaken +weaker +weakly +weakon +wealds +wealth +weaned +weaner +weapon +wearer +weasel +weason +weaved +weaver +weaves +webbed +webcam +webers +webfed +weblog +wechts +wedded +wedder +wedeln +wedels +wedged +wedges +wedgie +weeded +weeder +weekly +weened +weenie +weensy +weeper +weepie +weeted +weever +weevil +weewee +weighs +weight +weiner +weirdo +weirds +weirdy +welded +welder +weldor +welkin +welled +wellie +welted +welter +wended +weskit +wester +wether +wetted +wetter +whacko +whacks +whacky +whaled +whaler +whales +whammo +whammy +whangs +wharfs +wharve +whaups +wheals +wheats +wheels +wheens +wheeps +wheeze +wheezy +whelks +whelky +whelms +whelps +whenas +whence +wheres +wherry +wherve +wheyey +whidah +whiffs +whiled +whiles +whilom +whilst +whimsy +whined +whiner +whines +whiney +whinge +whinny +whippy +whirls +whirly +whirrs +whirry +whisht +whisks +whisky +whists +whited +whiten +whiter +whites +whitey +whizzy +wholes +wholly +whomps +whomso +whoofs +whoops +whoosh +whored +whores +whorls +whorts +whosis +whumps +whydah +wiccan +wiccas +wiches +wicked +wicker +wicket +wicopy +widder +widdie +widdle +widely +widens +widest +widget +widish +widows +widths +wields +wieldy +wiener +wienie +wifely +wifeys +wifing +wigans +wigeon +wigged +wiggle +wiggly +wights +wiglet +wigwag +wigwam +wikiup +wilded +wilder +wildly +wilful +wilier +wilily +wiling +willed +willer +willet +willie +willow +wilted +wimble +wimmin +wimped +wimple +winced +wincer +winces +wincey +winded +winder +windle +window +windup +winery +winged +winger +winier +wining +winish +winked +winker +winkle +winned +winner +winnow +winoes +winter +wintle +wintry +winzes +wipers +wiping +wirers +wirier +wirily +wiring +wisdom +wisely +wisent +wisest +wished +wisher +wishes +wising +wisped +wissed +wisses +wisted +witans +witchy +withal +withed +wither +withes +within +witing +witney +witted +wittol +wivern +wivers +wiving +wizard +wizens +wizzen +wizzes +woaded +woalds +wobble +wobbly +wodges +woeful +wolfed +wolfer +wolver +wolves +womans +wombat +wombed +womera +wonder +wonned +wonner +wonted +wonton +wooded +wooden +woodie +woodsy +wooers +woofed +woofer +wooing +wooled +woolen +wooler +woolie +woolly +worded +worked +worker +workup +worlds +wormed +wormer +wormil +worrit +worsen +worser +worses +worset +worsts +worths +worthy +wotted +wounds +wovens +wowing +wowser +wracks +wraith +wrangs +wrasse +wraths +wrathy +wreaks +wreath +wrecks +wrench +wrests +wretch +wricks +wriest +wright +wrings +wrists +wristy +writer +writes +writhe +wrongs +wryest +wrying +wursts +wurzel +wusses +wuther +wyches +wyling +wyting +wyvern +xebecs +xenial +xenias +xenons +xylans +xylems +xylene +xyloid +xylols +xylose +xylyls +xyster +xystoi +xystos +xystus +yabber +yabbie +yachts +yacked +yaffed +yagers +yahoos +yairds +yakked +yakker +yakuza +yamens +yammer +yamuns +yanked +yanqui +yantra +yapock +yapoks +yapons +yapped +yapper +yarded +yarder +yarely +yarest +yarned +yarner +yarrow +yasmak +yatter +yauped +yauper +yaupon +yautia +yawing +yawled +yawned +yawner +yawped +yawper +yclept +yeaned +yearly +yearns +yeasts +yeasty +yecchs +yeelin +yelled +yeller +yellow +yelped +yelper +yenned +yentas +yentes +yeoman +yeomen +yerbas +yerked +yessed +yesses +yester +yeuked +yields +yipped +yippee +yippie +yirred +yirths +yobbos +yocked +yodels +yodled +yodler +yodles +yogees +yogini +yogins +yogurt +yoicks +yokels +yoking +yolked +yonder +yonker +youngs +youpon +youths +yowies +yowing +yowled +yowler +yttria +yttric +yuccas +yucked +yukked +yulans +yupons +yuppie +yutzes +zaddik +zaffar +zaffer +zaffir +zaffre +zaftig +zagged +zaikai +zaires +zamias +zanana +zander +zanier +zanies +zanily +zanzas +zapped +zapper +zareba +zariba +zayins +zazens +zealot +zeatin +zebeck +zebecs +zebras +zechin +zenana +zenith +zephyr +zeroed +zeroes +zeroth +zested +zester +zeugma +zibeth +zibets +zigged +zigzag +zillah +zinced +zincic +zincky +zinebs +zinged +zinger +zinnia +zipped +zipper +zirams +zircon +zither +zizith +zizzle +zlotys +zoaria +zocalo +zodiac +zoecia +zoftig +zombie +zombis +zonary +zonate +zoners +zoning +zonked +zonula +zonule +zooids +zooier +zoomed +zoonal +zooned +zorils +zoster +zouave +zounds +zoysia +zydeco +zygoid +zygoma +zygose +zygote +zymase \ No newline at end of file diff --git a/wp-content/plugins/wp2pgpmail/readme.txt b/wp-content/plugins/wp2pgpmail/readme.txt new file mode 100644 index 000000000..1266ed891 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/readme.txt @@ -0,0 +1,120 @@ +=== wp2pgpmail === +Contributors: belaich, wp2pgpmail +Donate link: http://wp2pgpmail.com +Tags: PGP, mail, contact form, encrypt, crypt, privacy, encode, secure, encryption, GnuPG, GPG +Requires at least: 2.9.2 +Tested up to: 3.5.2 +Stable tag: 1.14 +License: GPLv2 +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +A simple PGP Mail Form Plugin. Enter your PGP public key, then visitors will be able to send you PGP encrypted messages by mail from a form. + +== Description == + +With wp2pgpmail, your visitors can send you a PGP encrypted message very easily. A contact form will offer encryption for sending you confidental messages. + +**NEW !!** + +We have now released a Pro version of wp2pgpmail, with Additional Fields, Unlimited Forms, Nested Drag n' Drop and Advanced Email Configuration ! Check it at [http://wp2pgpmail.com](http://wp2pgpmail.com). We are still working on the Free version. + +How does it work ? + +wp2pgpmail includes an OpenPGP Message Encryption System in Javascript, based on [Herbert Hanewinkel's work](http://www.haneWIN.de). Visitors enter a message in a form, encrypt it (with the PGP public key you entered in wp2pgpmail option settings), then an e-mail is sent to you (blog admin e-mail address). The message is encrypted locally on the visitor's computer, so no data is transfered in clear ! + +[youtube http://www.youtube.com/watch?v=nnY2xirKXkQ] + +Is it secure ? + +* All code is implememented in readable Javascript. +* You can verify the source code. +* No binaries are loaded from a server or used embedded. +* No hidden transfer of plain text. + +Supported languages : + +* English +* French +* German +* Spanish +* Estonian + +== Installation == + +1. Upload and extract the content of 'wp2pgpmail.zip' to the '/wp-content/plugins/' directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Paste your PGP public key in the option setting page of wp2pgpmail +1. Place the tag **[wp2pgpmail]** in the HTML code of the page you want to see the form +1. Enjoy! + +== Frequently Asked Questions == + += Where do I get a public PGP key and how do I uncrypt messages ? = +The easiest way to use PGP is to install Mozilla Thunderbird with the [Enigmail extension](http://enigmail.mozdev.org/). For more information about the installation and how to use this software, go to [About PGP](http://wp2pgpmail.com/about-pgp/) and [Enigmail installation instructions](http://wp2pgpmail.com/pgp-with-enigmail/) + += wp2pgpmail is not available in my language. What can I do ? = +You can translate wp2pgpmail in your language, then submit your translation, so everybody would can use it. +To do it, we have [a project hosted at Transifex](https://www.transifex.net/projects/p/wp2pgpmail/) where you can add the translation in your language. It's simple, fast and effective. Or: + +1. Download and install [Poedit](http://www.poedit.net/) +1. Open the wp2pgpmail POT file from **wp2pgpmail/i18n/wp2pgpmail.pot** +1. Go to **File => Save as...** to save your translations in a PO file (*wp2pgpmail-fr_FR.po* for example) +1. When you are finished translating, go to **File => Save as...** again to generate the MO file +1. Send us the PO and MO files to translation@wp2pgpmail.com : we will add them to the next release of the plugin + +If you want to translate the Pro Edition, please [contact us !](http://wp2pgpmail.com/contact/) + +== Screenshots == +Screenshots are available on the [wp2pgpmail plugin website](http://wp2pgpmail.com/screenshots/). + +== Changelog == += 1.14 = +* Updated German translation (user contributed) + += 1.13 = +* Fixing translation support + += 1.12 = +* Improving WordPress compliance (user contributed) + += 1.11 = +* Improving SSL support + += 1.10 = +* Using **wp_mail** function instead of **mail** function (user contributed) + += 1.09 = +* Added link to wp2pgpmail Support Team + += 1.08 = +* bug fix : PGP public keys with a comment line inside were not recognized + += 1.07 = +* Added Estonian translation (user contributed) + += 1.06 = +* Added Spanish translation (user contributed) + += 1.05 = +* Added German translation (user contributed) + += 1.04 = +* Changing the tag to **[wp2pgpmail]** (using Shortcode API now) + += 1.03 = +* Changing the tag to **{wp2pgpmail}** +* Adding new fields to the form +* Adding empty index files to protect all directories + += 1.02 = +* Fixing bug with some themes + += 1.01 = +* Initial import + +== Upgrade Notice == += 1.04 = +* The tag must now be **[wp2pgpmail]** to run the plugin + += 1.03 = +* The tag must now be **{wp2pgpmail}** to run the plugin diff --git a/wp-content/plugins/wp2pgpmail/wp2pgpmail.php b/wp-content/plugins/wp2pgpmail/wp2pgpmail.php new file mode 100644 index 000000000..4e9dfe2c3 --- /dev/null +++ b/wp-content/plugins/wp2pgpmail/wp2pgpmail.php @@ -0,0 +1,216 @@ +<?php +/* +Plugin Name: wp2pgpmail +Plugin URI: http://wp2pgpmail.com +Description: A simple PGP Mail Form Plugin for WordPress +Version: 1.14 +Author: Jeriel B. +Author URI: http://wp2pgpmail.com +License: + Copyright 2010-2013 Jeriel B. (e-mail : jeriel@wp2pgpmail.com) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2, as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + This software would not exist without the work done by: + - Herbert Hanewinkel, http://www.haneWIN.de (OpenPGP Encryption) + - Drew Phillips, http://www.phpcaptcha.org (Securimage) + + Thanks to you, Folks ! +*/ + +function wp2pgpmail_init(){ + load_plugin_textdomain('wp2pgpmail', false, dirname( plugin_basename( __FILE__ ) ) . '/i18n/'); + require_once 'phpcaptcha/securimage.php'; + $image = new Securimage(); +} + +function wp2pgpmail_insert() { + if ( isset($_POST['submitted']) ) { + $image = new Securimage(); + if ( $image->check($_POST['code']) == true && strpos(strip_tags($_POST['text']), "-----BEGIN PGP MESSAGE-----")!==false) { + $emailTo = get_option("admin_email"); + $subject = '[wp2pgpmail]['.get_bloginfo('name').']'.__('Encrypted PGP Message','wp2pgpmail'); + $body = strip_tags($_POST['text']); + $headers = 'From: '.get_option('blogname').' <'.$emailTo.'>' . "\r\n"; + wp_mail($emailTo, $subject, $body, $headers); + return __('Form successfully submitted! The encrypted message has been sent.','wp2pgpmail'); + } else { + return ( __('The image verification code you entered is incorrect. No message has been sent.','wp2pgpmail').'<br /><a href="'.get_permalink().'">'.__('Please try again.','wp2pgpmail').'</a>'); + } + } else { + require_once 'classes/formulaire.inc.php'; + $formulaire = new Formulaire(); + return $formulaire->Output; + } +} + +function wp2pgpmail_settings_page() { + wp_enqueue_style( 'wp2pgpmail-style', plugins_url( 'wp2pgpmail-pro' ) . '/css/wp2pgpmail-admin.css' ); + if ( get_option('wp2pgpmail_pgpkey')==false || get_option('wp2pgpmail_pgpkey_vers')=='' ) { + $wp2pgpmail_message_settings = '<br /><font color="#FF0000"><b>'.__('No valid public PGP key has been entered yet.','wp2pgpmail').'</b></font>'; + } else { + $wp2pgpmail_message_settings = '<br /><font color="#006633"><b>'.__('Your PGP public key has been entered correctly.','wp2pgpmail').'</b></font>'; + } + +?> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/rsa.js'); ?>" type="text/javascript"></script> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/aes-enc.js'); ?>" type="text/javascript"></script> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/sha1.js'); ?>" type="text/javascript"></script> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/base64.js'); ?>" type="text/javascript"></script> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/PGpubkey.js'); ?>" type="text/javascript"></script> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/mouse.js'); ?>" type="text/javascript"></script> +<script src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/js/PGencode.js'); ?>" type="text/javascript"></script> +<script type="text/javascript"> + +var keytyp = -1; +var keyid = ''; +var pubkey = ''; + +function getkey() { + var pu=new getPublicKey(document.s.pubkey.value); + if(pu.vers == -1) { + return false; + } else { + document.form_enregistrement.wp2pgpmail_pgpkey.value=document.s.pubkey.value; + + document.s.vers.value=pu.vers; + document.form_enregistrement.wp2pgpmail_pgpkey_vers.value=pu.vers; + + document.s.user.value=pu.user; + document.form_enregistrement.wp2pgpmail_pgpkey_user.value=pu.user; + + document.s.keyid.value=pu.keyid; + document.form_enregistrement.wp2pgpmail_pgpkey_keyid.value=pu.keyid; + + pubkey = pu.pkey.replace(/\n/g,''); + document.s.pkey.value=pubkey; + document.form_enregistrement.wp2pgpmail_pgpkey_pkey.value=pubkey; + + document.s.pktype.value=pu.type; + document.form_enregistrement.wp2pgpmail_pgpkey_pktype.value=pu.type; + + document.form_enregistrement.submit(); + } +} + + +</script> + +<div class="wrap"> + <h2><img src="<?php echo site_url('/wp-content/plugins/wp2pgpmail/images/big-icon.png'); ?>" alt="" />wp2pgpmail</h2> + + <h3><?php _e( 'Getting Started' , 'wp2pgpmail'); ?></h3> + <ol> + <li><?php _e( 'Enter your PGP public key in the field below on this page.' , 'wp2pgpmail'); ?></li> + <li><?php _e( 'Add the shortcode <b>[wp2pgpmail]</b> to any Post or Page to display the contact form.' , 'wp2pgpmail'); ?></li> + </ol> + <br /> + <h3><?php _e( 'Help Promote wp2pgpmail' , 'wp2pgpmail'); ?></h3> + <ul id="promote-wp2pgpmail"> + <li id="star"><b><a href="http://wp2pgpmail.com/" target="_blank"><?php _e( "Get wp2pgpmail Pro version with Additional Fields, Unlimited Forms, Nested Drag n' Drop and Advanced Email Configuration!" , 'wp2pgpmail'); ?></a></b></li> + <li id="twitter"><?php _e( 'Follow us on Twitter' , 'wp2pgpmail'); ?>: <a href="https://twitter.com/#!/wp2pgpmail">@wp2pgpmail</a></li> + <li id="star"><a href="http://wordpress.org/extend/plugins/wp2pgpmail/"><?php _e( 'Rate wp2pgpmail on WordPress.org' , 'wp2pgpmail'); ?></a></li> + <li id="paypal"> + <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Q79VNLVWMWHXA"><img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" width="74" height="21"></a> + </li> + </ul> + <br /> + <h3><?php _e('PGP Key Setup', 'wp2pgpmail'); ?></h3> + <?php _e('Paste your PGP public key in the first field below. By validating, your key will be recognized and the other fields will be automatically filled.', 'wp2pgpmail'); ?> + <br /> + <?php echo $wp2pgpmail_message_settings; ?> + <br /> + <form name="s" action="javascript:getkey()"> + <table width="600"> + <tr> + <td> + <textarea name="pubkey" rows="32" cols="80" style="font-family: Courier, FreeMono, monospace"><?php echo get_option('wp2pgpmail_pgpkey'); ?></textarea> + </td> + </tr> + <tr> + <td> + <table width="100%"> + <tr> + <td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><?php _e("Version:",'wp2pgpmail'); ?></font></td> + <td align="right"><input size="40" name="vers" value="<?php echo get_option('wp2pgpmail_pgpkey_vers'); ?>" readonly /></td> + </tr> + <tr> + <td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><?php _e("User ID:",'wp2pgpmail'); ?></font></td> + <td align="right"><input size="40" name="user" value="<?php echo get_option('wp2pgpmail_pgpkey_user'); ?>" readonly /></td> + </tr> + <tr> + <td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><?php _e("Key ID:",'wp2pgpmail'); ?></font></td> + <td align="right"><input size="40" name="keyid" value="<?php echo get_option('wp2pgpmail_pgpkey_keyid'); ?>" readonly /></td> + </tr> + <tr> + <td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><?php _e("Public Key type and values:",'wp2pgpmail'); ?></font></td> + <td align="right"><input size="40" name="pktype" value="<?php echo get_option('wp2pgpmail_pgpkey_pktype'); ?>" readonly /></td> + </tr> + <tr> + <td colspan="2" align="right"><input size="100" name="pkey" value="<?php echo get_option('wp2pgpmail_pgpkey_pkey'); ?>" readonly /></td> + </tr> + </table> + </td> + </tr> + </table> + </form> + <br /> + <form method="post" action="options.php" name="form_enregistrement"> + <?php settings_fields( 'wp2pgpmail-settings-group' ); ?> + <input type="hidden" name="wp2pgpmail_pgpkey" value="<?php echo get_option('wp2pgpmail_pgpkey'); ?>" /> + <input type="hidden" name="wp2pgpmail_pgpkey_vers" value="<?php echo get_option('wp2pgpmail_pgpkey_vers'); ?>" /> + <input type="hidden" name="wp2pgpmail_pgpkey_user" value="<?php echo get_option('wp2pgpmail_pgpkey_user'); ?>" /> + <input type="hidden" name="wp2pgpmail_pgpkey_keyid" value="<?php echo get_option('wp2pgpmail_pgpkey_keyid'); ?>" /> + <input type="hidden" name="wp2pgpmail_pgpkey_pktype" value="<?php echo get_option('wp2pgpmail_pgpkey_pktype'); ?>" /> + <input type="hidden" name="wp2pgpmail_pgpkey_pkey" value="<?php echo get_option('wp2pgpmail_pgpkey_pkey'); ?>" /> + <p class="submit"> + <input type="button" onclick="document.s.submit();" class="button-primary" value="<?php _e('Save Changes') ?>" /> + </p> + </form> + + <h3><?php _e( 'Need help?' , 'wp2pgpmail'); ?></h3> + <ol> + <li><a href="http://wp2pgpmail.com/about-pgp/"><?php _e( 'Infomation about PGP from wp2pgpmail' , 'wp2pgpmail'); ?></a></li> + <li><a href="http://wp2pgpmail.com/faq/"><?php _e( 'wp2pgpmail FAQ' , 'wp2pgpmail'); ?></a></li> + <li><a href="http://wp2pgpmail.com/support/"><?php _e( 'wp2pgpmail Support Ticket System' , 'wp2pgpmail'); ?></a></li> + <li><a href="http://wordpress.org/tags/wp2pgpmail?forum_id=10"><?php _e( 'wp2pgpmail Forums' , 'wp2pgpmail'); ?></a></li> + </ol> + +</div> +<?php } ?> +<?php +function wp2pgpmail_register_settings() { + + //register settings + register_setting( 'wp2pgpmail-settings-group', 'wp2pgpmail_pgpkey' ); + register_setting( 'wp2pgpmail-settings-group', 'wp2pgpmail_pgpkey_vers' ); + register_setting( 'wp2pgpmail-settings-group', 'wp2pgpmail_pgpkey_user' ); + register_setting( 'wp2pgpmail-settings-group', 'wp2pgpmail_pgpkey_keyid' ); + register_setting( 'wp2pgpmail-settings-group', 'wp2pgpmail_pgpkey_pktype' ); + register_setting( 'wp2pgpmail-settings-group', 'wp2pgpmail_pgpkey_pkey' ); +} + +function wp2pgpmail_menu() { + + //create new top-level menu + add_menu_page('wp2pgpmail Options', 'wp2pgpmail', 'administrator', __FILE__, 'wp2pgpmail_settings_page', plugins_url('/images/icon.png', __FILE__)); + add_submenu_page(__FILE__,'wp2pgpmail Options', 'Options', 'administrator', __FILE__,'wp2pgpmail_settings_page'); + + //call register settings function + add_action( 'admin_init', 'wp2pgpmail_register_settings' ); +} + +add_action('init', 'wp2pgpmail_init'); +add_action('admin_menu', 'wp2pgpmail_menu'); +add_shortcode('wp2pgpmail', 'wp2pgpmail_insert'); -- GitLab