҇3LȐ1bҪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIZ:^{Nqwδ0Z mZ; F[1KlwgFN5K]Op3`h.Q2.Ion7f pf\o) }Go}N/zfy^Ϲ8`;yKBI|ERGƣ&hTΦY07ےWTaȉCG%9vڌBn utddٴ[L= :CJ,aűipbaTk~N*rl0V+8 S/}ix5GG JF99ᔤs}ޤTu x?iTlmVn1"9=\n“~N7=QhFK_4`8Bq:-*t)[=Ma |h ۳ل)\<{6V4 Z}&sRvy.#PlUupq1!(hZ֢]^ W5Q%z1r,-&9*ƕ`bFv "k"=!WJUDIV_6]㵩iזA!, 9$(,wgFN5K]OwgFN5K]OwgFN5K]OQf@{ZOC#wgFN5K]OwgFN5K]OwgFN5K]OwgFN5K]OykD _nɽn`lo K A0SV.^FuZ}WdAM78y<\g(^,3~MkV|MHu(WQVO FaG -șCpX:1>ZkfpaBTE;? 4r>BC†%q)8 _ў;wmQ_84 got/TwDL+aD_@.I%1y#:vdʚ]K#J) b`QİJoM TCs5=['nŊ}x5ΜPTZ_^5&bntgS?u,<3:e6hW/^ÍL$W ?, omN[7PK`.J[IG3N\ :sx^3 |?D;~!n`bS3O3*Ixwq> #Od?wȕ0vL>J<hĪ3wgFN5K]OwgFN5K]OwgFN5K]O#%# Q/j3K6@ ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIݦQ@8obm|>@/xF}z)%ZKMSֻ0jj wgFN5K]O+%.HWQIg> ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIs/ˡ;#•OO&ຐY8]$nU,+)7ljxNHLf7 5L/1P.Ȁ18F+Gc5N=gq6X!/TZmJ"/¥EUOQ퉮tFc73xuIK:mbw%ȴ9:N3y2}p(>ޯ%sUSu1o'臾L1b"BαNMksM=_{<[˄6Bj,L{vr@0SKc66gb qzWb5s Nt-&cBHYILϏ +Kj^ݒ>|m5qkܸyT\8(.796r(;t1+g W@9}o^CNG%?}9Q &.lEZqeIU break; case 'digestmd5': // $msg = 'Deprecated mechanism name. Use IANA-registered name: DIGEST-MD5.'; // trigger_error($msg, E_USER_DEPRECATED); case 'digest-md5': // $msg = 'DIGEST-MD5 is a deprecated SASL mechanism as per RFC-6331. Using it could be a security risk.'; // trigger_error($msg, E_USER_NOTICE); $filename = 'Auth/SASL/DigestMD5.php'; $classname = 'Auth_SASL_DigestMD5'; break; default: $scram = '/^SCRAM-(.{1,9})$/i'; if (preg_match($scram, $type, $matches)) { $hash = $matches[1]; $filename = dirname(__FILE__) .'/SASL/SCRAM.php'; $classname = 'Auth_SASL_SCRAM'; $parameter = $hash; break; } return PEAR::raiseError('Invalid SASL mechanism type'); break; } require_once($filename); if (isset($parameter)) $obj = new $classname($parameter); else $obj = new $classname(); return $obj; } } ?>