├── GPLv3.txt ├── README.md └── modules └── addons └── oath ├── GoogleAuthenticator.php ├── clientareaoath.tpl ├── hooks.php ├── lang ├── bulgarian.php ├── chinese.php ├── english.php ├── german.php ├── persian.php ├── portuguese-br.php ├── portuguese-pt.php └── romanian.php ├── oath.php └── phpqrcode ├── bindings └── tcpdf │ └── qrcode.php ├── cache ├── frame_1.dat ├── frame_1.png ├── frame_10.dat ├── frame_10.png ├── frame_11.dat ├── frame_11.png ├── frame_12.dat ├── frame_12.png ├── frame_13.dat ├── frame_13.png ├── frame_14.dat ├── frame_14.png ├── frame_15.dat ├── frame_15.png ├── frame_16.dat ├── frame_16.png ├── frame_17.dat ├── frame_17.png ├── frame_18.dat ├── frame_18.png ├── frame_19.dat ├── frame_19.png ├── frame_2.dat ├── frame_2.png ├── frame_20.dat ├── frame_20.png ├── frame_21.dat ├── frame_21.png ├── frame_22.dat ├── frame_22.png ├── frame_23.dat ├── frame_23.png ├── frame_24.dat ├── frame_24.png ├── frame_25.dat ├── frame_25.png ├── frame_26.dat ├── frame_26.png ├── frame_27.dat ├── frame_27.png ├── frame_28.dat ├── frame_28.png ├── frame_29.dat ├── frame_29.png ├── frame_3.dat ├── frame_3.png ├── frame_30.dat ├── frame_30.png ├── frame_31.dat ├── frame_31.png ├── frame_32.dat ├── frame_32.png ├── frame_33.dat ├── frame_33.png ├── frame_34.dat ├── frame_34.png ├── frame_35.dat ├── frame_35.png ├── frame_36.dat ├── frame_36.png ├── frame_37.dat ├── frame_37.png ├── frame_38.dat ├── frame_38.png ├── frame_39.dat ├── frame_39.png ├── frame_4.dat ├── frame_4.png ├── frame_40.dat ├── frame_40.png ├── frame_5.dat ├── frame_5.png ├── frame_6.dat ├── frame_6.png ├── frame_7.dat ├── frame_7.png ├── frame_8.dat ├── frame_8.png ├── frame_9.dat ├── frame_9.png ├── mask_0 │ ├── mask_101_0.dat │ ├── mask_105_0.dat │ ├── mask_109_0.dat │ ├── mask_113_0.dat │ ├── mask_117_0.dat │ ├── mask_121_0.dat │ ├── mask_125_0.dat │ ├── mask_129_0.dat │ ├── mask_133_0.dat │ ├── mask_137_0.dat │ ├── mask_141_0.dat │ ├── mask_145_0.dat │ ├── mask_149_0.dat │ ├── mask_153_0.dat │ ├── mask_157_0.dat │ ├── mask_161_0.dat │ ├── mask_165_0.dat │ ├── mask_169_0.dat │ ├── mask_173_0.dat │ ├── mask_177_0.dat │ ├── mask_21_0.dat │ ├── mask_25_0.dat │ ├── mask_29_0.dat │ ├── mask_33_0.dat │ ├── mask_37_0.dat │ ├── mask_41_0.dat │ ├── mask_45_0.dat │ ├── mask_49_0.dat │ ├── mask_53_0.dat │ ├── mask_57_0.dat │ ├── mask_61_0.dat │ ├── mask_65_0.dat │ ├── mask_69_0.dat │ ├── mask_73_0.dat │ ├── mask_77_0.dat │ ├── mask_81_0.dat │ ├── mask_85_0.dat │ ├── mask_89_0.dat │ ├── mask_93_0.dat │ └── mask_97_0.dat ├── mask_1 │ ├── mask_101_1.dat │ ├── mask_105_1.dat │ ├── mask_109_1.dat │ ├── mask_113_1.dat │ ├── mask_117_1.dat │ ├── mask_121_1.dat │ ├── mask_125_1.dat │ ├── mask_129_1.dat │ ├── mask_133_1.dat │ ├── mask_137_1.dat │ ├── mask_141_1.dat │ ├── mask_145_1.dat │ ├── mask_149_1.dat │ ├── mask_153_1.dat │ ├── mask_157_1.dat │ ├── mask_161_1.dat │ ├── mask_165_1.dat │ ├── mask_169_1.dat │ ├── mask_173_1.dat │ ├── mask_177_1.dat │ ├── mask_21_1.dat │ ├── mask_25_1.dat │ ├── mask_29_1.dat │ ├── mask_33_1.dat │ ├── mask_37_1.dat │ ├── mask_41_1.dat │ ├── mask_45_1.dat │ ├── mask_49_1.dat │ ├── mask_53_1.dat │ ├── mask_57_1.dat │ ├── mask_61_1.dat │ ├── mask_65_1.dat │ ├── mask_69_1.dat │ ├── mask_73_1.dat │ ├── mask_77_1.dat │ ├── mask_81_1.dat │ ├── mask_85_1.dat │ ├── mask_89_1.dat │ ├── mask_93_1.dat │ └── mask_97_1.dat ├── mask_2 │ ├── mask_101_2.dat │ ├── mask_105_2.dat │ ├── mask_109_2.dat │ ├── mask_113_2.dat │ ├── mask_117_2.dat │ ├── mask_121_2.dat │ ├── mask_125_2.dat │ ├── mask_129_2.dat │ ├── mask_133_2.dat │ ├── mask_137_2.dat │ ├── mask_141_2.dat │ ├── mask_145_2.dat │ ├── mask_149_2.dat │ ├── mask_153_2.dat │ ├── mask_157_2.dat │ ├── mask_161_2.dat │ ├── mask_165_2.dat │ ├── mask_169_2.dat │ ├── mask_173_2.dat │ ├── mask_177_2.dat │ ├── mask_21_2.dat │ ├── mask_25_2.dat │ ├── mask_29_2.dat │ ├── mask_33_2.dat │ ├── mask_37_2.dat │ ├── mask_41_2.dat │ ├── mask_45_2.dat │ ├── mask_49_2.dat │ ├── mask_53_2.dat │ ├── mask_57_2.dat │ ├── mask_61_2.dat │ ├── mask_65_2.dat │ ├── mask_69_2.dat │ ├── mask_73_2.dat │ ├── mask_77_2.dat │ ├── mask_81_2.dat │ ├── mask_85_2.dat │ ├── mask_89_2.dat │ ├── mask_93_2.dat │ └── mask_97_2.dat ├── mask_3 │ ├── mask_101_3.dat │ ├── mask_105_3.dat │ ├── mask_109_3.dat │ ├── mask_113_3.dat │ ├── mask_117_3.dat │ ├── mask_121_3.dat │ ├── mask_125_3.dat │ ├── mask_129_3.dat │ ├── mask_133_3.dat │ ├── mask_137_3.dat │ ├── mask_141_3.dat │ ├── mask_145_3.dat │ ├── mask_149_3.dat │ ├── mask_153_3.dat │ ├── mask_157_3.dat │ ├── mask_161_3.dat │ ├── mask_165_3.dat │ ├── mask_169_3.dat │ ├── mask_173_3.dat │ ├── mask_177_3.dat │ ├── mask_21_3.dat │ ├── mask_25_3.dat │ ├── mask_29_3.dat │ ├── mask_33_3.dat │ ├── mask_37_3.dat │ ├── mask_41_3.dat │ ├── mask_45_3.dat │ ├── mask_49_3.dat │ ├── mask_53_3.dat │ ├── mask_57_3.dat │ ├── mask_61_3.dat │ ├── mask_65_3.dat │ ├── mask_69_3.dat │ ├── mask_73_3.dat │ ├── mask_77_3.dat │ ├── mask_81_3.dat │ ├── mask_85_3.dat │ ├── mask_89_3.dat │ ├── mask_93_3.dat │ └── mask_97_3.dat ├── mask_4 │ ├── mask_101_4.dat │ ├── mask_105_4.dat │ ├── mask_109_4.dat │ ├── mask_113_4.dat │ ├── mask_117_4.dat │ ├── mask_121_4.dat │ ├── mask_125_4.dat │ ├── mask_129_4.dat │ ├── mask_133_4.dat │ ├── mask_137_4.dat │ ├── mask_141_4.dat │ ├── mask_145_4.dat │ ├── mask_149_4.dat │ ├── mask_153_4.dat │ ├── mask_157_4.dat │ ├── mask_161_4.dat │ ├── mask_165_4.dat │ ├── mask_169_4.dat │ ├── mask_173_4.dat │ ├── mask_177_4.dat │ ├── mask_21_4.dat │ ├── mask_25_4.dat │ ├── mask_29_4.dat │ ├── mask_33_4.dat │ ├── mask_37_4.dat │ ├── mask_41_4.dat │ ├── mask_45_4.dat │ ├── mask_49_4.dat │ ├── mask_53_4.dat │ ├── mask_57_4.dat │ ├── mask_61_4.dat │ ├── mask_65_4.dat │ ├── mask_69_4.dat │ ├── mask_73_4.dat │ ├── mask_77_4.dat │ ├── mask_81_4.dat │ ├── mask_85_4.dat │ ├── mask_89_4.dat │ ├── mask_93_4.dat │ └── mask_97_4.dat ├── mask_5 │ ├── mask_101_5.dat │ ├── mask_105_5.dat │ ├── mask_109_5.dat │ ├── mask_113_5.dat │ ├── mask_117_5.dat │ ├── mask_121_5.dat │ ├── mask_125_5.dat │ ├── mask_129_5.dat │ ├── mask_133_5.dat │ ├── mask_137_5.dat │ ├── mask_141_5.dat │ ├── mask_145_5.dat │ ├── mask_149_5.dat │ ├── mask_153_5.dat │ ├── mask_157_5.dat │ ├── mask_161_5.dat │ ├── mask_165_5.dat │ ├── mask_169_5.dat │ ├── mask_173_5.dat │ ├── mask_177_5.dat │ ├── mask_21_5.dat │ ├── mask_25_5.dat │ ├── mask_29_5.dat │ ├── mask_33_5.dat │ ├── mask_37_5.dat │ ├── mask_41_5.dat │ ├── mask_45_5.dat │ ├── mask_49_5.dat │ ├── mask_53_5.dat │ ├── mask_57_5.dat │ ├── mask_61_5.dat │ ├── mask_65_5.dat │ ├── mask_69_5.dat │ ├── mask_73_5.dat │ ├── mask_77_5.dat │ ├── mask_81_5.dat │ ├── mask_85_5.dat │ ├── mask_89_5.dat │ ├── mask_93_5.dat │ └── mask_97_5.dat ├── mask_6 │ ├── mask_101_6.dat │ ├── mask_105_6.dat │ ├── mask_109_6.dat │ ├── mask_113_6.dat │ ├── mask_117_6.dat │ ├── mask_121_6.dat │ ├── mask_125_6.dat │ ├── mask_129_6.dat │ ├── mask_133_6.dat │ ├── mask_137_6.dat │ ├── mask_141_6.dat │ ├── mask_145_6.dat │ ├── mask_149_6.dat │ ├── mask_153_6.dat │ ├── mask_157_6.dat │ ├── mask_161_6.dat │ ├── mask_165_6.dat │ ├── mask_169_6.dat │ ├── mask_173_6.dat │ ├── mask_177_6.dat │ ├── mask_21_6.dat │ ├── mask_25_6.dat │ ├── mask_29_6.dat │ ├── mask_33_6.dat │ ├── mask_37_6.dat │ ├── mask_41_6.dat │ ├── mask_45_6.dat │ ├── mask_49_6.dat │ ├── mask_53_6.dat │ ├── mask_57_6.dat │ ├── mask_61_6.dat │ ├── mask_65_6.dat │ ├── mask_69_6.dat │ ├── mask_73_6.dat │ ├── mask_77_6.dat │ ├── mask_81_6.dat │ ├── mask_85_6.dat │ ├── mask_89_6.dat │ ├── mask_93_6.dat │ └── mask_97_6.dat └── mask_7 │ ├── mask_101_7.dat │ ├── mask_105_7.dat │ ├── mask_109_7.dat │ ├── mask_113_7.dat │ ├── mask_117_7.dat │ ├── mask_121_7.dat │ ├── mask_125_7.dat │ ├── mask_129_7.dat │ ├── mask_133_7.dat │ ├── mask_137_7.dat │ ├── mask_141_7.dat │ ├── mask_145_7.dat │ ├── mask_149_7.dat │ ├── mask_153_7.dat │ ├── mask_157_7.dat │ ├── mask_161_7.dat │ ├── mask_165_7.dat │ ├── mask_169_7.dat │ ├── mask_173_7.dat │ ├── mask_177_7.dat │ ├── mask_21_7.dat │ ├── mask_25_7.dat │ ├── mask_29_7.dat │ ├── mask_33_7.dat │ ├── mask_37_7.dat │ ├── mask_41_7.dat │ ├── mask_45_7.dat │ ├── mask_49_7.dat │ ├── mask_53_7.dat │ ├── mask_57_7.dat │ ├── mask_61_7.dat │ ├── mask_65_7.dat │ ├── mask_69_7.dat │ ├── mask_73_7.dat │ ├── mask_77_7.dat │ ├── mask_81_7.dat │ ├── mask_85_7.dat │ ├── mask_89_7.dat │ ├── mask_93_7.dat │ └── mask_97_7.dat ├── index.php ├── phpqrcode.php ├── qrbitstream.php ├── qrconfig.php ├── qrconst.php ├── qrencode.php ├── qrimage.php ├── qrinput.php ├── qrlib.php ├── qrmask.php ├── qrrscode.php ├── qrspec.php ├── qrsplit.php ├── qrtools.php └── tools ├── merge.bat ├── merge.php ├── merge.sh ├── merged_config.php └── merged_header.php /README.md: -------------------------------------------------------------------------------- 1 | # WHMCS OATH Addon (WHMCS v6 & v7) 2 | 3 | This WHMCS addon module provides OATH-based two-factor authentication. You'd normally use this with a mobile app, like Google Authenticator (Free, [iOS](https://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8) / [Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en)). 4 | 5 | If you are logged in as an admin, client area two-factor authentication will be bypassed. 6 | 7 | If user input the Emergency Code, the client will get new Emergency Code with same secret. _Two Factor Authentication will not disabled because logging in using Emergency Code_ 8 | 9 | ## Installation 10 | 11 | To install, simply download the latest [release](https://github.com/openfactory-ch/whmcs-oath-addon/releases), unzip it, and upload the `modules` folder to your WHMCS root directory. The Links are automatically created with the new WHMCS v6/v7 Client Area Menu. 12 | 13 | Once uploaded, go to Setup > Addon Modules in your admin area and click Activate for the "OATH Two Factor Authentication" entry. Once activated, click Configure to customize your settings. 14 | 15 | When enabling two-factor authentication for administrators, the "Yes" option will make it optional, while "Required" will require all admins to enable two-factor authentication on their next login. You must tick off the admin role permission boxes next to the roles that you want to have access to two-factor authentication. 16 | 17 | ## Notes for Upgrade from WHMCS v5 to WHMCS v6+ 18 | 19 | The former developer(s) (see Credits section) haven't updated their source for about a year. Since WHMCS v6 release their module is not compatible anymore. 20 | 21 | Since the codebase and database is exactly the same and only minimal stuff have changed, it's safe to just repeat the Installation section and overwrite the files. 22 | 23 | ## Issues 24 | 25 | Latest tested Release: WHMCS v7.1.1. 26 | 27 | If you discover any issues or bugs, please report them on the [issue tracker](https://github.com/openfactory-ch/whmcs-oath-addon/issues). 28 | 29 | ## Credits 30 | 31 | This addon was made possible by: 32 | 33 | * Current maintainer: [Openfactory GmbH](http://www.openfactory.ch) 34 | * Former developer(s): [Doctor_McKay/whmcs-oath-addon](https://bitbucket.org/Doctor_McKay/whmcs-oath-addon/) / [donate](https://www.doctormckay.com/donate.php) 35 | * Library: [PHPGangsta's GoogleAuthenticator class](https://github.com/PHPGangsta/GoogleAuthenticator) 36 | * Library: [PHP QR Code](http://phpqrcode.sourceforge.net/) 37 | 38 | ## License 39 | 40 | This module is licensed under GPLv3. See [GPLv3.txt](GPLv3.txt) for complete license terms. 41 | -------------------------------------------------------------------------------- /modules/addons/oath/GoogleAuthenticator.php: -------------------------------------------------------------------------------- 1 | _getBase32LookupTable(); 27 | 28 | // Valid secret lengths are 80 to 640 bits 29 | if ($secretLength < 16 || $secretLength > 128) { 30 | throw new Exception('Bad secret length'); 31 | } 32 | $secret = ''; 33 | $rnd = false; 34 | if (function_exists('random_bytes')) { 35 | $rnd = random_bytes($secretLength); 36 | } elseif (function_exists('mcrypt_create_iv')) { 37 | $rnd = mcrypt_create_iv($secretLength, MCRYPT_DEV_URANDOM); 38 | } elseif (function_exists('openssl_random_pseudo_bytes')) { 39 | $rnd = openssl_random_pseudo_bytes($secretLength, $cryptoStrong); 40 | if (!$cryptoStrong) { 41 | $rnd = false; 42 | } 43 | } 44 | if ($rnd !== false) { 45 | for ($i = 0; $i < $secretLength; ++$i) { 46 | $secret .= $validChars[ord($rnd[$i]) & 31]; 47 | } 48 | } else { 49 | throw new Exception('No source of secure random'); 50 | } 51 | 52 | return $secret; 53 | } 54 | 55 | /** 56 | * Calculate the code, with given secret and point in time. 57 | * 58 | * @param string $secret 59 | * @param int|null $timeSlice 60 | * 61 | * @return string 62 | */ 63 | public function getCode($secret, $timeSlice = null) 64 | { 65 | if ($timeSlice === null) { 66 | $timeSlice = floor(time() / 30); 67 | } 68 | 69 | $secretkey = $this->_base32Decode($secret); 70 | 71 | // Pack time into binary string 72 | $time = chr(0).chr(0).chr(0).chr(0).pack('N*', $timeSlice); 73 | // Hash it with users secret key 74 | $hm = hash_hmac('SHA1', $time, $secretkey, true); 75 | // Use last nipple of result as index/offset 76 | $offset = ord(substr($hm, -1)) & 0x0F; 77 | // grab 4 bytes of the result 78 | $hashpart = substr($hm, $offset, 4); 79 | 80 | // Unpak binary value 81 | $value = unpack('N', $hashpart); 82 | $value = $value[1]; 83 | // Only 32 bits 84 | $value = $value & 0x7FFFFFFF; 85 | 86 | $modulo = pow(10, $this->_codeLength); 87 | 88 | return str_pad($value % $modulo, $this->_codeLength, '0', STR_PAD_LEFT); 89 | } 90 | 91 | /** 92 | * Get QR-Code URL for image, from google charts. 93 | * 94 | * @param string $name 95 | * @param string $secret 96 | * @param string $title 97 | * @param array $params 98 | * 99 | * @return string 100 | */ 101 | public function getQRCodeGoogleUrl($name, $secret, $title = null, $params = array()) 102 | { 103 | $width = !empty($params['width']) && (int) $params['width'] > 0 ? (int) $params['width'] : 200; 104 | $height = !empty($params['height']) && (int) $params['height'] > 0 ? (int) $params['height'] : 200; 105 | $level = !empty($params['level']) && array_search($params['level'], array('L', 'M', 'Q', 'H')) !== false ? $params['level'] : 'M'; 106 | 107 | $urlencoded = urlencode('otpauth://totp/'.$name.'?secret='.$secret.''); 108 | if (isset($title)) { 109 | $urlencoded .= urlencode('&issuer='.urlencode($title)); 110 | } 111 | 112 | return 'https://chart.googleapis.com/chart?chs='.$width.'x'.$height.'&chld='.$level.'|0&cht=qr&chl='.$urlencoded.''; 113 | } 114 | 115 | /** 116 | * Check if the code is correct. This will accept codes starting from $discrepancy*30sec ago to $discrepancy*30sec from now. 117 | * 118 | * @param string $secret 119 | * @param string $code 120 | * @param int $discrepancy This is the allowed time drift in 30 second units (8 means 4 minutes before or after) 121 | * @param int|null $currentTimeSlice time slice if we want use other that time() 122 | * 123 | * @return bool 124 | */ 125 | public function verifyCode($secret, $code, $discrepancy = 1, $currentTimeSlice = null) 126 | { 127 | if ($currentTimeSlice === null) { 128 | $currentTimeSlice = floor(time() / 30); 129 | } 130 | 131 | if (strlen($code) != 6) { 132 | return false; 133 | } 134 | 135 | for ($i = -$discrepancy; $i <= $discrepancy; ++$i) { 136 | $calculatedCode = $this->getCode($secret, $currentTimeSlice + $i); 137 | if ($this->timingSafeEquals($calculatedCode, $code)) { 138 | return true; 139 | } 140 | } 141 | 142 | return false; 143 | } 144 | 145 | /** 146 | * Set the code length, should be >=6. 147 | * 148 | * @param int $length 149 | * 150 | * @return PHPGangsta_GoogleAuthenticator 151 | */ 152 | public function setCodeLength($length) 153 | { 154 | $this->_codeLength = $length; 155 | 156 | return $this; 157 | } 158 | 159 | /** 160 | * Helper class to decode base32. 161 | * 162 | * @param $secret 163 | * 164 | * @return bool|string 165 | */ 166 | protected function _base32Decode($secret) 167 | { 168 | if (empty($secret)) { 169 | return ''; 170 | } 171 | 172 | $base32chars = $this->_getBase32LookupTable(); 173 | $base32charsFlipped = array_flip($base32chars); 174 | 175 | $paddingCharCount = substr_count($secret, $base32chars[32]); 176 | $allowedValues = array(6, 4, 3, 1, 0); 177 | if (!in_array($paddingCharCount, $allowedValues)) { 178 | return false; 179 | } 180 | for ($i = 0; $i < 4; ++$i) { 181 | if ($paddingCharCount == $allowedValues[$i] && 182 | substr($secret, -($allowedValues[$i])) != str_repeat($base32chars[32], $allowedValues[$i])) { 183 | return false; 184 | } 185 | } 186 | $secret = str_replace('=', '', $secret); 187 | $secret = str_split($secret); 188 | $binaryString = ''; 189 | for ($i = 0; $i < count($secret); $i = $i + 8) { 190 | $x = ''; 191 | if (!in_array($secret[$i], $base32chars)) { 192 | return false; 193 | } 194 | for ($j = 0; $j < 8; ++$j) { 195 | $x .= str_pad(base_convert(@$base32charsFlipped[@$secret[$i + $j]], 10, 2), 5, '0', STR_PAD_LEFT); 196 | } 197 | $eightBits = str_split($x, 8); 198 | for ($z = 0; $z < count($eightBits); ++$z) { 199 | $binaryString .= (($y = chr(base_convert($eightBits[$z], 2, 10))) || ord($y) == 48) ? $y : ''; 200 | } 201 | } 202 | 203 | return $binaryString; 204 | } 205 | 206 | /** 207 | * Get array with all 32 characters for decoding from/encoding to base32. 208 | * 209 | * @return array 210 | */ 211 | protected function _getBase32LookupTable() 212 | { 213 | return array( 214 | 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', // 7 215 | 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', // 15 216 | 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', // 23 217 | 'Y', 'Z', '2', '3', '4', '5', '6', '7', // 31 218 | '=', // padding char 219 | ); 220 | } 221 | 222 | /** 223 | * A timing safe equals comparison 224 | * more info here: http://blog.ircmaxell.com/2014/11/its-all-about-time.html. 225 | * 226 | * @param string $safeString The internal (safe) value to be checked 227 | * @param string $userString The user submitted (unsafe) value 228 | * 229 | * @return bool True if the two strings are identical 230 | */ 231 | private function timingSafeEquals($safeString, $userString) 232 | { 233 | if (function_exists('hash_equals')) { 234 | return hash_equals($safeString, $userString); 235 | } 236 | $safeLen = strlen($safeString); 237 | $userLen = strlen($userString); 238 | 239 | if ($userLen != $safeLen) { 240 | return false; 241 | } 242 | 243 | $result = 0; 244 | 245 | for ($i = 0; $i < $userLen; ++$i) { 246 | $result |= (ord($safeString[$i]) ^ ord($userString[$i])); 247 | } 248 | 249 | // They are only identical strings if $result is exactly 0... 250 | return $result === 0; 251 | } 252 | } -------------------------------------------------------------------------------- /modules/addons/oath/clientareaoath.tpl: -------------------------------------------------------------------------------- 1 |
2 | 3 | {if $incorrect} 4 |
{$OATH.incorrect}
5 | {/if} 6 | 7 | {if $login} 8 |

{$OATH.enterCodeNote}


9 |
10 | 11 |
12 | 13 |


14 |
15 | 16 |
17 | {elseif !$enable_clients} 18 |
{$OATH.inactive}
19 | {elseif !$active} 20 | {if !$verify} 21 |

{$OATH.disabled}


22 |
23 | 24 | 25 |
26 | {else} 27 |

{$OATH.scanNote}


28 |
29 |

{$OATH.unableScan}
{$secret}


30 |
31 | 32 | 33 |

34 | 35 |


36 |

{$OATH.recomApp}:
37 | Google Authenticator
38 | (iOS 39 | / Android)
40 | Microsoft Authenticator Beta
41 | (Windows 10 Mobile) 42 |

43 | {/if} 44 | {elseif $backupCode} 45 |

{$OATH.backupCodeInfo}


46 |

{$OATH.newBackupCodeNote}

47 |

{$newBackupCode}

48 |

{$OATH.emCodeNote}

49 |

Continue »

50 | 51 | {else} 52 |

{$OATH.enabled}


53 | {if $allow_secret_review} 54 |
55 |
56 |
57 | {/if} 58 | {if $firstactivation} 59 |

{$OATH.emCode}: {$emergencycode}

{$OATH.emCodeNote}{if !$allow_secret_review} {$OATH.emCodeNote2}{/if}


60 | {/if} 61 |
62 | 63 | 64 |

65 |

{$OATH.note}

66 | {/if} 67 | 68 |
69 | -------------------------------------------------------------------------------- /modules/addons/oath/hooks.php: -------------------------------------------------------------------------------- 1 | getChild('My Account'))) { 13 | $menu->getChild('My Account')->addChild('OATH', array( 14 | 'label' => Lang::trans('twofactorauth'), 15 | 'uri' => 'index.php?m=oath', 16 | 'order' => '51', 17 | )); 18 | } 19 | }); 20 | 21 | add_hook('ClientAreaSecondaryNavbar', 1, function (MenuItem $menu) { 22 | if (!is_null($menu->getChild('Account')) && !is_null(Menu::context('client'))) { 23 | $menu->getChild('Account')->addChild('OATH', array( 24 | 'label' => Lang::trans('twofactorauth'), 25 | 'uri' => 'index.php?m=oath', 26 | 'order' => '51', 27 | )); 28 | } 29 | }); 30 | 31 | function oath_hook_client_login($vars) { 32 | if ($_SESSION['adminid']) { 33 | return; 34 | } 35 | 36 | $userid = $vars['userid']; 37 | 38 | // Check wether the secret is available or not 39 | $sqlquery = Capsule::table('mod_oath_client') 40 | ->where('userid', $vars['userid'])->get(); 41 | foreach ($sqlquery as $data) { 42 | $secret = $data->secret; 43 | unset($data); 44 | break; 45 | } 46 | 47 | if (!$secret) { 48 | if (isset($_SESSION['twofactorverify'])) { 49 | unset($_SESSION['twofactorverify']); 50 | } 51 | 52 | return; 53 | } 54 | 55 | // Check wether the secret is available or not 56 | $sqlquery = Capsule::table('tbladdonmodules') 57 | ->where('module', 'oath') 58 | ->where('setting', 'enable_clients')->get(); 59 | foreach ($sqlquery as $data) { 60 | $valueenableclients = $data->value; 61 | unset($data); 62 | break; 63 | } 64 | 65 | if (!$valueenableclients) { 66 | if (isset($_SESSION['twofactorverify'])) { 67 | unset($_SESSION['twofactorverify']); 68 | } 69 | 70 | return; 71 | } 72 | 73 | $_SESSION['twofactorverify'] = $userid; 74 | $_SESSION['twofactorverifypw'] = $_SESSION['upw']; 75 | unset($_SESSION['uid']); 76 | unset($_SESSION['upw']); 77 | 78 | # fix security vulnerabilty (issue #9): The automatic login will continue to login the user even when it got removed by our client login hook. 79 | # we need to ensure there will be no cookies passed to browser with autologin information and thus the cookie WHMCSUser will be overwritten 80 | # befor it gets send to the browser. 81 | $headers_cookie_safe = array(); 82 | $all_headers = headers_list(); 83 | foreach ($all_headers as $header) { 84 | if (preg_match('/^Set-Cookie: /', $header)) { 85 | if (!preg_match('/^Set-Cookie: WHMCSUser=/', $header)) { 86 | $headers_cookie_safe[] = $header; 87 | } 88 | } 89 | } 90 | header_remove('Set-Cookie'); 91 | //for all safe headers print them out as they were 92 | //actually multiple values here would overwrite each other the way header works... http://stackoverflow.com/q/34664208 93 | foreach ($headers_cookie_safe as $header) { 94 | header($header); 95 | } 96 | //invoke deletion of any existing autologin cookies 97 | setcookie('WHMCSUser', 'deleted', time() - 3600, '/', "", false, true); 98 | 99 | header('Location: index.php?m=oath'); 100 | exit(0); 101 | } 102 | 103 | add_hook("ClientLogin", 0, "oath_hook_client_login"); 104 | 105 | function oath_hook_admin_logout($vars) { 106 | unset($_SESSION['twofactoradmin']); 107 | } 108 | 109 | add_hook("AdminLogout", 0, "oath_hook_admin_logout"); 110 | 111 | function oath_admin_page($vars) { 112 | session_start(); 113 | $script = explode('/', $_SERVER['SCRIPT_NAME']); 114 | if (($script[count($script) - 1] == 'addonmodules.php' && $_GET['module'] == 'oath') || $_SESSION['twofactoradmin'] == $_SESSION['adminid']) { 115 | return; 116 | } 117 | 118 | // Get Admin Secret 119 | try { 120 | $sqlquery = Capsule::table('mod_oath_admin') 121 | ->where('adminid', $_SESSION['adminid'])->get(); 122 | foreach ($sqlquery as $data) { 123 | $secret = $data->secret; 124 | unset($data); 125 | break; 126 | } 127 | } catch (\Exception $e) { 128 | $secret = false; 129 | } 130 | 131 | 132 | // Get Enable Admins 133 | try { 134 | $sqlquery = Capsule::table('tbladdonmodules') 135 | ->where('module', 'oath') 136 | ->where('setting', 'enable_admins')->get(); 137 | foreach ($sqlquery as $data) { 138 | $enable_admins = $data->value; 139 | unset($data); 140 | break; 141 | } 142 | } catch (\Exception $e) { 143 | $enable_admins = 'None'; 144 | } 145 | 146 | // Get Access Value 147 | try { 148 | $sqlquery = Capsule::table('tbladdonmodules') 149 | ->where('module', 'oath') 150 | ->where('setting', 'access')->get(); 151 | foreach ($sqlquery as $data) { 152 | $accessvalue = $data->value; 153 | unset($data); 154 | break; 155 | } 156 | 157 | $access = explode(',', $accessvalue); 158 | } catch (\Exception $e) { 159 | $access = 'None'; 160 | } 161 | 162 | // Get Role 163 | try { 164 | $sqlquery = Admin::where('id', $_SESSION['adminid'])->get(); 165 | foreach ($sqlquery as $data) { 166 | $role = $data->roleid; 167 | unset($data); 168 | break; 169 | } 170 | } catch (\Exception $e) { 171 | $role = ''; 172 | } 173 | 174 | if ((!$secret && $enable_admins != 'Required') || $enable_admins == 'No' || !in_array($role, $access)) { 175 | return; 176 | } 177 | 178 | $_SESSION['original_request_uri'] = $_SERVER['REQUEST_URI']; 179 | 180 | header('Location: addonmodules.php?module=oath'); 181 | session_write_close(); 182 | exit(0); 183 | } 184 | 185 | add_hook("AdminAreaPage", 0, "oath_admin_page"); 186 | 187 | function oath_hook_admin_client_profile_tab_fields($vars) { 188 | 189 | // Get Client Secret 190 | $sqlquery = Capsule::table('mod_oath_client') 191 | ->where('userid', $vars['userid'])->get(); 192 | foreach ($sqlquery as $data) { 193 | $secret = $data->secret; 194 | unset($data); 195 | break; 196 | } 197 | 198 | if ($secret) { 199 | return array('OATH Addon' => ''); 200 | } else { 201 | return array(); 202 | } 203 | } 204 | 205 | add_hook("AdminClientProfileTabFields", 0, "oath_hook_admin_client_profile_tab_fields"); 206 | 207 | function oath_hook_admin_client_profile_tab_fields_save($vars) { 208 | if (isset($vars['disable_twofactor'])) { 209 | Capsule::table('mod_oath_client')->where('userid', $vars['userid'])->delete(); 210 | } 211 | } 212 | 213 | add_hook("AdminClientProfileTabFieldsSave", 0, "oath_hook_admin_client_profile_tab_fields_save"); 214 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/bulgarian.php: -------------------------------------------------------------------------------- 1 | 32 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/chinese.php: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/english.php: -------------------------------------------------------------------------------- 1 | 28 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/german.php: -------------------------------------------------------------------------------- 1 | 28 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/persian.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/portuguese-br.php: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/portuguese-pt.php: -------------------------------------------------------------------------------- 1 | 28 | -------------------------------------------------------------------------------- /modules/addons/oath/lang/romanian.php: -------------------------------------------------------------------------------- 1 | 31 | -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_1.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_10.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_10.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_10.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_11.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_11.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_11.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_12.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_12.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_12.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_13.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_13.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_13.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_14.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_14.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_14.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_15.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_15.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_15.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_16.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_16.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_16.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_17.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_17.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_17.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_18.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_18.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_18.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_19.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_19.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_19.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_2.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_20.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_20.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_20.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_21.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_21.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_21.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_22.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_22.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_22.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_23.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_23.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_23.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_24.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_24.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_24.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_25.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_25.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_25.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_26.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_26.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_26.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_27.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_27.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_27.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_28.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_28.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_28.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_29.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_29.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_29.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_3.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_30.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_30.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_30.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_31.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_31.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_31.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_32.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_32.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_32.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_33.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_33.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_33.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_34.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_34.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_34.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_35.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_35.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_35.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_36.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_36.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_36.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_37.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_37.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_37.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_38.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_38.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_38.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_39.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_39.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_39.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_4.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_40.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_40.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_40.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_5.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_6.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_7.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_8.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_8.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_8.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_9.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_9.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/frame_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/frame_9.png -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_101_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_101_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_105_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_105_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_109_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_109_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_113_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_113_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_117_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_117_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_121_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_121_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_125_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_125_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_129_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_129_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_133_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_133_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_137_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_137_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_141_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_141_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_145_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_145_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_149_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_149_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_153_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_153_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_157_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_157_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_161_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_161_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_165_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_165_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_169_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_169_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_173_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_173_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_177_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_177_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_21_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_21_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_25_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_25_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_29_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_29_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_33_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_33_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_37_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_37_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_41_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_41_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_45_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_45_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_49_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_49_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_53_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_53_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_57_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_57_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_61_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_61_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_65_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_65_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_69_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_69_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_73_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_73_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_77_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_77_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_81_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_81_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_85_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_85_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_89_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_89_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_93_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_93_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_0/mask_97_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_0/mask_97_0.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_101_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_101_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_105_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_105_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_109_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_109_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_113_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_113_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_117_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_117_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_121_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_121_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_125_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_125_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_129_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_129_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_133_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_133_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_137_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_137_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_141_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_141_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_145_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_145_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_149_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_149_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_153_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_153_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_157_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_157_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_161_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_161_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_165_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_165_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_169_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_169_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_173_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_173_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_177_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_177_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_21_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_21_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_25_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_25_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_29_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_29_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_33_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_33_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_37_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_37_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_41_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_41_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_45_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_45_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_49_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_49_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_53_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_53_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_57_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_57_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_61_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_61_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_65_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_65_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_69_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_69_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_73_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_73_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_77_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_77_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_81_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_81_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_85_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_85_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_89_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_89_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_93_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_93_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_1/mask_97_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_1/mask_97_1.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_101_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_101_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_105_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_105_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_109_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_109_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_113_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_113_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_117_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_117_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_121_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_121_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_125_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_125_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_129_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_129_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_133_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_133_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_137_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_137_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_141_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_141_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_145_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_145_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_149_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_149_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_153_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_153_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_157_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_157_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_161_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_161_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_165_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_165_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_169_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_169_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_173_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_173_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_177_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_177_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_21_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_21_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_25_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_25_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_29_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_29_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_33_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_33_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_37_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_37_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_41_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_41_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_45_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_45_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_49_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_49_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_53_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_53_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_57_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_57_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_61_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_61_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_65_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_65_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_69_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_69_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_73_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_73_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_77_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_77_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_81_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_81_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_85_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_85_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_89_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_89_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_93_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_93_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_2/mask_97_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_2/mask_97_2.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_101_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_101_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_105_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_105_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_109_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_109_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_113_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_113_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_117_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_117_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_121_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_121_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_125_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_125_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_129_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_129_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_133_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_133_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_137_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_137_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_141_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_141_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_145_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_145_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_149_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_149_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_153_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_153_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_157_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_157_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_161_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_161_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_165_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_165_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_169_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_169_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_173_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_173_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_177_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_177_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_21_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_21_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_25_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_25_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_29_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_29_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_33_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_33_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_37_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_37_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_41_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_41_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_45_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_45_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_49_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_49_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_53_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_53_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_57_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_57_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_61_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_61_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_65_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_65_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_69_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_69_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_73_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_73_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_77_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_77_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_81_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_81_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_85_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_85_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_89_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_89_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_93_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_93_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_3/mask_97_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_3/mask_97_3.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_101_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_101_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_105_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_105_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_109_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_109_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_113_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_113_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_117_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_117_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_121_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_121_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_125_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_125_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_129_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_129_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_133_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_133_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_137_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_137_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_141_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_141_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_145_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_145_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_149_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_149_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_153_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_153_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_157_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_157_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_161_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_161_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_165_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_165_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_169_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_169_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_173_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_173_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_177_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_177_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_21_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_21_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_25_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_25_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_29_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_29_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_33_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_33_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_37_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_37_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_41_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_41_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_45_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_45_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_49_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_49_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_53_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_53_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_57_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_57_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_61_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_61_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_65_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_65_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_69_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_69_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_73_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_73_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_77_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_77_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_81_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_81_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_85_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_85_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_89_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_89_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_93_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_93_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_4/mask_97_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_4/mask_97_4.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_101_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_101_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_105_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_105_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_109_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_109_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_113_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_113_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_117_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_117_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_121_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_121_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_125_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_125_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_129_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_129_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_133_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_133_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_137_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_137_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_141_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_141_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_145_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_145_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_149_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_149_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_153_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_153_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_157_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_157_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_161_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_161_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_165_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_165_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_169_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_169_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_173_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_173_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_177_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_177_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_21_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_21_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_25_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_25_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_29_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_29_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_33_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_33_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_37_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_37_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_41_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_41_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_45_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_45_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_49_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_49_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_53_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_53_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_57_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_57_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_61_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_61_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_65_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_65_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_69_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_69_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_73_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_73_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_77_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_77_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_81_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_81_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_85_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_85_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_89_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_89_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_93_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_93_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_5/mask_97_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_5/mask_97_5.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_101_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_101_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_105_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_105_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_109_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_109_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_113_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_113_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_117_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_117_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_121_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_121_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_125_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_125_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_129_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_129_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_133_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_133_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_137_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_137_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_141_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_141_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_145_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_145_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_149_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_149_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_153_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_153_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_157_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_157_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_161_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_161_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_165_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_165_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_169_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_169_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_173_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_173_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_177_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_177_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_21_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_21_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_25_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_25_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_29_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_29_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_33_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_33_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_37_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_37_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_41_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_41_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_45_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_45_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_49_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_49_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_53_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_53_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_57_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_57_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_61_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_61_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_65_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_65_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_69_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_69_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_73_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_73_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_77_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_77_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_81_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_81_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_85_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_85_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_89_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_89_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_93_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_93_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_6/mask_97_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_6/mask_97_6.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_101_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_101_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_105_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_105_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_109_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_109_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_113_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_113_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_117_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_117_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_121_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_121_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_125_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_125_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_129_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_129_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_133_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_133_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_137_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_137_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_141_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_141_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_145_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_145_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_149_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_149_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_153_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_153_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_157_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_157_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_161_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_161_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_165_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_165_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_169_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_169_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_173_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_173_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_177_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_177_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_21_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_21_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_25_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_25_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_29_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_29_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_33_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_33_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_37_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_37_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_41_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_41_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_45_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_45_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_49_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_49_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_53_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_53_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_57_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_57_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_61_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_61_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_65_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_65_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_69_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_69_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_73_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_73_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_77_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_77_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_81_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_81_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_85_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_85_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_89_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_89_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_93_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_93_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/cache/mask_7/mask_97_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfactory-ch/whmcs-oath-addon/fba34e0689c0975a868b7598369137185bf6051a/modules/addons/oath/phpqrcode/cache/mask_7/mask_97_7.dat -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/index.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * This library is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Lesser General Public 12 | * License as published by the Free Software Foundation; either 13 | * version 3 of the License, or any later version. 14 | * 15 | * This library is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * Lesser General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Lesser General Public 21 | * License along with this library; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 | */ 24 | 25 | echo "

PHP QR Code


"; 26 | 27 | //set it to writable location, a place for temp generated PNG files 28 | $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR; 29 | 30 | //html PNG location prefix 31 | $PNG_WEB_DIR = 'temp/'; 32 | 33 | include "qrlib.php"; 34 | 35 | //ofcourse we need rights to create temp dir 36 | if (!file_exists($PNG_TEMP_DIR)) 37 | mkdir($PNG_TEMP_DIR); 38 | 39 | 40 | $filename = $PNG_TEMP_DIR.'test.png'; 41 | 42 | //processing form input 43 | //remember to sanitize user input in real-life solution !!! 44 | $errorCorrectionLevel = 'L'; 45 | if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H'))) 46 | $errorCorrectionLevel = $_REQUEST['level']; 47 | 48 | $matrixPointSize = 4; 49 | if (isset($_REQUEST['size'])) 50 | $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10); 51 | 52 | 53 | if (isset($_REQUEST['data'])) { 54 | 55 | //it's very important! 56 | if (trim($_REQUEST['data']) == '') 57 | die('data cannot be empty! back'); 58 | 59 | // user data 60 | $filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png'; 61 | QRcode::png($_REQUEST['data'], $filename, $errorCorrectionLevel, $matrixPointSize, 2); 62 | 63 | } else { 64 | 65 | //default data 66 | echo 'You can provide data in GET parameter: like that
'; 67 | QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2); 68 | 69 | } 70 | 71 | //display generated file 72 | echo '
'; 73 | 74 | //config form 75 | echo '
76 | Data:   77 | ECC:   83 | Size:   89 |

'; 90 | 91 | // benchmark 92 | QRtools::timeBenchmark(); 93 | 94 | -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/qrbitstream.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * PHP QR Code is distributed under LGPL 3 11 | * Copyright (C) 2010 Dominik Dzienia 12 | * 13 | * This library is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 3 of the License, or any later version. 17 | * 18 | * This library is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with this library; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | class QRbitstream { 29 | 30 | public $data = array(); 31 | 32 | //---------------------------------------------------------------------- 33 | public function size() 34 | { 35 | return count($this->data); 36 | } 37 | 38 | //---------------------------------------------------------------------- 39 | public function allocate($setLength) 40 | { 41 | $this->data = array_fill(0, $setLength, 0); 42 | return 0; 43 | } 44 | 45 | //---------------------------------------------------------------------- 46 | public static function newFromNum($bits, $num) 47 | { 48 | $bstream = new QRbitstream(); 49 | $bstream->allocate($bits); 50 | 51 | $mask = 1 << ($bits - 1); 52 | for($i=0; $i<$bits; $i++) { 53 | if($num & $mask) { 54 | $bstream->data[$i] = 1; 55 | } else { 56 | $bstream->data[$i] = 0; 57 | } 58 | $mask = $mask >> 1; 59 | } 60 | 61 | return $bstream; 62 | } 63 | 64 | //---------------------------------------------------------------------- 65 | public static function newFromBytes($size, $data) 66 | { 67 | $bstream = new QRbitstream(); 68 | $bstream->allocate($size * 8); 69 | $p=0; 70 | 71 | for($i=0; $i<$size; $i++) { 72 | $mask = 0x80; 73 | for($j=0; $j<8; $j++) { 74 | if($data[$i] & $mask) { 75 | $bstream->data[$p] = 1; 76 | } else { 77 | $bstream->data[$p] = 0; 78 | } 79 | $p++; 80 | $mask = $mask >> 1; 81 | } 82 | } 83 | 84 | return $bstream; 85 | } 86 | 87 | //---------------------------------------------------------------------- 88 | public function append(QRbitstream $arg) 89 | { 90 | if (is_null($arg)) { 91 | return -1; 92 | } 93 | 94 | if($arg->size() == 0) { 95 | return 0; 96 | } 97 | 98 | if($this->size() == 0) { 99 | $this->data = $arg->data; 100 | return 0; 101 | } 102 | 103 | $this->data = array_values(array_merge($this->data, $arg->data)); 104 | 105 | return 0; 106 | } 107 | 108 | //---------------------------------------------------------------------- 109 | public function appendNum($bits, $num) 110 | { 111 | if ($bits == 0) 112 | return 0; 113 | 114 | $b = QRbitstream::newFromNum($bits, $num); 115 | 116 | if(is_null($b)) 117 | return -1; 118 | 119 | $ret = $this->append($b); 120 | unset($b); 121 | 122 | return $ret; 123 | } 124 | 125 | //---------------------------------------------------------------------- 126 | public function appendBytes($size, $data) 127 | { 128 | if ($size == 0) 129 | return 0; 130 | 131 | $b = QRbitstream::newFromBytes($size, $data); 132 | 133 | if(is_null($b)) 134 | return -1; 135 | 136 | $ret = $this->append($b); 137 | unset($b); 138 | 139 | return $ret; 140 | } 141 | 142 | //---------------------------------------------------------------------- 143 | public function toByte() 144 | { 145 | 146 | $size = $this->size(); 147 | 148 | if($size == 0) { 149 | return array(); 150 | } 151 | 152 | $data = array_fill(0, (int)(($size + 7) / 8), 0); 153 | $bytes = (int)($size / 8); 154 | 155 | $p = 0; 156 | 157 | for($i=0; $i<$bytes; $i++) { 158 | $v = 0; 159 | for($j=0; $j<8; $j++) { 160 | $v = $v << 1; 161 | $v |= $this->data[$p]; 162 | $p++; 163 | } 164 | $data[$i] = $v; 165 | } 166 | 167 | if($size & 7) { 168 | $v = 0; 169 | for($j=0; $j<($size & 7); $j++) { 170 | $v = $v << 1; 171 | $v |= $this->data[$p]; 172 | $p++; 173 | } 174 | $data[$bytes] = $v; 175 | } 176 | 177 | return $data; 178 | } 179 | 180 | } 181 | -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/qrconfig.php: -------------------------------------------------------------------------------- 1 | 10 | * 11 | * PHP QR Code is distributed under LGPL 3 12 | * Copyright (C) 2010 Dominik Dzienia 13 | * 14 | * This library is free software; you can redistribute it and/or 15 | * modify it under the terms of the GNU Lesser General Public 16 | * License as published by the Free Software Foundation; either 17 | * version 3 of the License, or any later version. 18 | * 19 | * This library is distributed in the hope that it will be useful, 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | * Lesser General Public License for more details. 23 | * 24 | * You should have received a copy of the GNU Lesser General Public 25 | * License along with this library; if not, write to the Free Software 26 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 27 | */ 28 | 29 | // Encoding modes 30 | 31 | define('QR_MODE_NUL', -1); 32 | define('QR_MODE_NUM', 0); 33 | define('QR_MODE_AN', 1); 34 | define('QR_MODE_8', 2); 35 | define('QR_MODE_KANJI', 3); 36 | define('QR_MODE_STRUCTURE', 4); 37 | 38 | // Levels of error correction. 39 | 40 | define('QR_ECLEVEL_L', 0); 41 | define('QR_ECLEVEL_M', 1); 42 | define('QR_ECLEVEL_Q', 2); 43 | define('QR_ECLEVEL_H', 3); 44 | 45 | // Supported output formats 46 | 47 | define('QR_FORMAT_TEXT', 0); 48 | define('QR_FORMAT_PNG', 1); 49 | 50 | class qrstr { 51 | public static function set(&$srctab, $x, $y, $repl, $replLen = false) { 52 | $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); 53 | } 54 | } -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/qrimage.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * This library is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Lesser General Public 12 | * License as published by the Free Software Foundation; either 13 | * version 3 of the License, or any later version. 14 | * 15 | * This library is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * Lesser General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Lesser General Public 21 | * License along with this library; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 | */ 24 | 25 | define('QR_IMAGE', true); 26 | 27 | class QRimage { 28 | 29 | //---------------------------------------------------------------------- 30 | public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE) 31 | { 32 | $image = self::image($frame, $pixelPerPoint, $outerFrame); 33 | 34 | if ($filename === false) { 35 | Header("Content-type: image/png"); 36 | ImagePng($image); 37 | } else { 38 | if($saveandprint===TRUE){ 39 | ImagePng($image, $filename); 40 | header("Content-type: image/png"); 41 | ImagePng($image); 42 | }else{ 43 | ImagePng($image, $filename); 44 | } 45 | } 46 | 47 | ImageDestroy($image); 48 | } 49 | 50 | //---------------------------------------------------------------------- 51 | public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85) 52 | { 53 | $image = self::image($frame, $pixelPerPoint, $outerFrame); 54 | 55 | if ($filename === false) { 56 | Header("Content-type: image/jpeg"); 57 | ImageJpeg($image, null, $q); 58 | } else { 59 | ImageJpeg($image, $filename, $q); 60 | } 61 | 62 | ImageDestroy($image); 63 | } 64 | 65 | //---------------------------------------------------------------------- 66 | private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4) 67 | { 68 | $h = count($frame); 69 | $w = strlen($frame[0]); 70 | 71 | $imgW = $w + 2*$outerFrame; 72 | $imgH = $h + 2*$outerFrame; 73 | 74 | $base_image =ImageCreate($imgW, $imgH); 75 | 76 | $col[0] = ImageColorAllocate($base_image,255,255,255); 77 | $col[1] = ImageColorAllocate($base_image,0,0,0); 78 | 79 | imagefill($base_image, 0, 0, $col[0]); 80 | 81 | for($y=0; $y<$h; $y++) { 82 | for($x=0; $x<$w; $x++) { 83 | if ($frame[$y][$x] == '1') { 84 | ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]); 85 | } 86 | } 87 | } 88 | 89 | $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint); 90 | ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH); 91 | ImageDestroy($base_image); 92 | 93 | return $target_image; 94 | } 95 | } -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/qrlib.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * PHP QR Code is distributed under LGPL 3 11 | * Copyright (C) 2010 Dominik Dzienia 12 | * 13 | * This library is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 3 of the License, or any later version. 17 | * 18 | * This library is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with this library; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; 29 | 30 | // Required libs 31 | 32 | include $QR_BASEDIR."qrconst.php"; 33 | include $QR_BASEDIR."qrconfig.php"; 34 | include $QR_BASEDIR."qrtools.php"; 35 | include $QR_BASEDIR."qrspec.php"; 36 | include $QR_BASEDIR."qrimage.php"; 37 | include $QR_BASEDIR."qrinput.php"; 38 | include $QR_BASEDIR."qrbitstream.php"; 39 | include $QR_BASEDIR."qrsplit.php"; 40 | include $QR_BASEDIR."qrrscode.php"; 41 | include $QR_BASEDIR."qrmask.php"; 42 | include $QR_BASEDIR."qrencode.php"; 43 | 44 | -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/qrrscode.php: -------------------------------------------------------------------------------- 1 | 12 | * 13 | * PHP QR Code is distributed under LGPL 3 14 | * Copyright (C) 2010 Dominik Dzienia 15 | * 16 | * This library is free software; you can redistribute it and/or 17 | * modify it under the terms of the GNU Lesser General Public 18 | * License as published by the Free Software Foundation; either 19 | * version 3 of the License, or any later version. 20 | * 21 | * This library is distributed in the hope that it will be useful, 22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 24 | * Lesser General Public License for more details. 25 | * 26 | * You should have received a copy of the GNU Lesser General Public 27 | * License along with this library; if not, write to the Free Software 28 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 29 | */ 30 | 31 | class QRrsItem { 32 | 33 | public $mm; // Bits per symbol 34 | public $nn; // Symbols per block (= (1<= $this->nn) { 49 | $x -= $this->nn; 50 | $x = ($x >> $this->mm) + ($x & $this->nn); 51 | } 52 | 53 | return $x; 54 | } 55 | 56 | //---------------------------------------------------------------------- 57 | public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) 58 | { 59 | // Common code for intializing a Reed-Solomon control block (char or int symbols) 60 | // Copyright 2004 Phil Karn, KA9Q 61 | // May be used under the terms of the GNU Lesser General Public License (LGPL) 62 | 63 | $rs = null; 64 | 65 | // Check parameter ranges 66 | if($symsize < 0 || $symsize > 8) return $rs; 67 | if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs; 68 | if($prim <= 0 || $prim >= (1<<$symsize)) return $rs; 69 | if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values! 70 | if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding 71 | 72 | $rs = new QRrsItem(); 73 | $rs->mm = $symsize; 74 | $rs->nn = (1<<$symsize)-1; 75 | $rs->pad = $pad; 76 | 77 | $rs->alpha_to = array_fill(0, $rs->nn+1, 0); 78 | $rs->index_of = array_fill(0, $rs->nn+1, 0); 79 | 80 | // PHP style macro replacement ;) 81 | $NN =& $rs->nn; 82 | $A0 =& $NN; 83 | 84 | // Generate Galois field lookup tables 85 | $rs->index_of[0] = $A0; // log(zero) = -inf 86 | $rs->alpha_to[$A0] = 0; // alpha**-inf = 0 87 | $sr = 1; 88 | 89 | for($i=0; $i<$rs->nn; $i++) { 90 | $rs->index_of[$sr] = $i; 91 | $rs->alpha_to[$i] = $sr; 92 | $sr <<= 1; 93 | if($sr & (1<<$symsize)) { 94 | $sr ^= $gfpoly; 95 | } 96 | $sr &= $rs->nn; 97 | } 98 | 99 | if($sr != 1){ 100 | // field generator polynomial is not primitive! 101 | $rs = NULL; 102 | return $rs; 103 | } 104 | 105 | /* Form RS code generator polynomial from its roots */ 106 | $rs->genpoly = array_fill(0, $nroots+1, 0); 107 | 108 | $rs->fcr = $fcr; 109 | $rs->prim = $prim; 110 | $rs->nroots = $nroots; 111 | $rs->gfpoly = $gfpoly; 112 | 113 | /* Find prim-th root of 1, used in decoding */ 114 | for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn) 115 | ; // intentional empty-body loop! 116 | 117 | $rs->iprim = (int)($iprim / $prim); 118 | $rs->genpoly[0] = 1; 119 | 120 | for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { 121 | $rs->genpoly[$i+1] = 1; 122 | 123 | // Multiply rs->genpoly[] by @**(root + x) 124 | for ($j = $i; $j > 0; $j--) { 125 | if ($rs->genpoly[$j] != 0) { 126 | $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)]; 127 | } else { 128 | $rs->genpoly[$j] = $rs->genpoly[$j-1]; 129 | } 130 | } 131 | // rs->genpoly[0] can never be zero 132 | $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)]; 133 | } 134 | 135 | // convert rs->genpoly[] to index form for quicker encoding 136 | for ($i = 0; $i <= $nroots; $i++) 137 | $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]]; 138 | 139 | return $rs; 140 | } 141 | 142 | //---------------------------------------------------------------------- 143 | public function encode_rs_char($data, &$parity) 144 | { 145 | $MM =& $this->mm; 146 | $NN =& $this->nn; 147 | $ALPHA_TO =& $this->alpha_to; 148 | $INDEX_OF =& $this->index_of; 149 | $GENPOLY =& $this->genpoly; 150 | $NROOTS =& $this->nroots; 151 | $FCR =& $this->fcr; 152 | $PRIM =& $this->prim; 153 | $IPRIM =& $this->iprim; 154 | $PAD =& $this->pad; 155 | $A0 =& $NN; 156 | 157 | $parity = array_fill(0, $NROOTS, 0); 158 | 159 | for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) { 160 | 161 | $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; 162 | if($feedback != $A0) { 163 | // feedback term is non-zero 164 | 165 | // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must 166 | // always be for the polynomials constructed by init_rs() 167 | $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback); 168 | 169 | for($j=1;$j<$NROOTS;$j++) { 170 | $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])]; 171 | } 172 | } 173 | 174 | // Shift 175 | array_shift($parity); 176 | if($feedback != $A0) { 177 | array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]); 178 | } else { 179 | array_push($parity, 0); 180 | } 181 | } 182 | } 183 | } 184 | 185 | //########################################################################## 186 | 187 | class QRrs { 188 | 189 | public static $items = array(); 190 | 191 | //---------------------------------------------------------------------- 192 | public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) 193 | { 194 | foreach(self::$items as $rs) { 195 | if($rs->pad != $pad) continue; 196 | if($rs->nroots != $nroots) continue; 197 | if($rs->mm != $symsize) continue; 198 | if($rs->gfpoly != $gfpoly) continue; 199 | if($rs->fcr != $fcr) continue; 200 | if($rs->prim != $prim) continue; 201 | 202 | return $rs; 203 | } 204 | 205 | $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); 206 | array_unshift(self::$items, $rs); 207 | 208 | return $rs; 209 | } 210 | } -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/qrtools.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * This library is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Lesser General Public 12 | * License as published by the Free Software Foundation; either 13 | * version 3 of the License, or any later version. 14 | * 15 | * This library is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * Lesser General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Lesser General Public 21 | * License along with this library; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 | */ 24 | 25 | class QRtools { 26 | 27 | //---------------------------------------------------------------------- 28 | public static function binarize($frame) 29 | { 30 | $len = count($frame); 31 | foreach ($frame as &$frameLine) { 32 | 33 | for($i=0; $i<$len; $i++) { 34 | $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; 35 | } 36 | } 37 | 38 | return $frame; 39 | } 40 | 41 | //---------------------------------------------------------------------- 42 | public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037') 43 | { 44 | $barcode_array = array(); 45 | 46 | if (!is_array($mode)) 47 | $mode = explode(',', $mode); 48 | 49 | $eccLevel = 'L'; 50 | 51 | if (count($mode) > 1) { 52 | $eccLevel = $mode[1]; 53 | } 54 | 55 | $qrTab = QRcode::text($code, false, $eccLevel); 56 | $size = count($qrTab); 57 | 58 | $barcode_array['num_rows'] = $size; 59 | $barcode_array['num_cols'] = $size; 60 | $barcode_array['bcode'] = array(); 61 | 62 | foreach ($qrTab as $line) { 63 | $arrAdd = array(); 64 | foreach(str_split($line) as $char) 65 | $arrAdd[] = ($char=='1')?1:0; 66 | $barcode_array['bcode'][] = $arrAdd; 67 | } 68 | 69 | return $barcode_array; 70 | } 71 | 72 | //---------------------------------------------------------------------- 73 | public static function clearCache() 74 | { 75 | self::$frames = array(); 76 | } 77 | 78 | //---------------------------------------------------------------------- 79 | public static function buildCache() 80 | { 81 | QRtools::markTime('before_build_cache'); 82 | 83 | $mask = new QRmask(); 84 | for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) { 85 | $frame = QRspec::newFrame($a); 86 | if (QR_IMAGE) { 87 | $fileName = QR_CACHE_DIR.'frame_'.$a.'.png'; 88 | QRimage::png(self::binarize($frame), $fileName, 1, 0); 89 | } 90 | 91 | $width = count($frame); 92 | $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); 93 | for ($maskNo=0; $maskNo<8; $maskNo++) 94 | $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true); 95 | } 96 | 97 | QRtools::markTime('after_build_cache'); 98 | } 99 | 100 | //---------------------------------------------------------------------- 101 | public static function log($outfile, $err) 102 | { 103 | if (QR_LOG_DIR !== false) { 104 | if ($err != '') { 105 | if ($outfile !== false) { 106 | file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); 107 | } else { 108 | file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); 109 | } 110 | } 111 | } 112 | } 113 | 114 | //---------------------------------------------------------------------- 115 | public static function dumpMask($frame) 116 | { 117 | $width = count($frame); 118 | for($y=0;$y<$width;$y++) { 119 | for($x=0;$x<$width;$x++) { 120 | echo ord($frame[$y][$x]).','; 121 | } 122 | } 123 | } 124 | 125 | //---------------------------------------------------------------------- 126 | public static function markTime($markerId) 127 | { 128 | list($usec, $sec) = explode(" ", microtime()); 129 | $time = ((float)$usec + (float)$sec); 130 | 131 | if (!isset($GLOBALS['qr_time_bench'])) 132 | $GLOBALS['qr_time_bench'] = array(); 133 | 134 | $GLOBALS['qr_time_bench'][$markerId] = $time; 135 | } 136 | 137 | //---------------------------------------------------------------------- 138 | public static function timeBenchmark() 139 | { 140 | self::markTime('finish'); 141 | 142 | $lastTime = 0; 143 | $startTime = 0; 144 | $p = 0; 145 | 146 | echo ' 147 | 148 | '; 149 | 150 | foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) { 151 | if ($p > 0) { 152 | echo ''; 153 | } else { 154 | $startTime = $thisTime; 155 | } 156 | 157 | $p++; 158 | $lastTime = $thisTime; 159 | } 160 | 161 | echo ' 162 | 163 | 164 |
BENCHMARK
till '.$markerId.': '.number_format($thisTime-$lastTime, 6).'s
TOTAL: '.number_format($lastTime-$startTime, 6).'s
'; 165 | } 166 | 167 | } 168 | 169 | //########################################################################## 170 | 171 | QRtools::markTime('start'); 172 | -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/tools/merge.bat: -------------------------------------------------------------------------------- 1 | php ./merge.php 2 | pause -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/tools/merge.php: -------------------------------------------------------------------------------- 1 | 12 | * 13 | * This library is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 3 of the License, or any later version. 17 | * 18 | * This library is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with this library; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR; 29 | $QR_TOOLSDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; 30 | 31 | $outputFile = $QR_BASEDIR.'phpqrcode.php'; 32 | 33 | // Required libs 34 | 35 | $fileList = array( 36 | $QR_BASEDIR.'qrconst.php', 37 | $QR_TOOLSDIR.'merged_config.php', 38 | $QR_BASEDIR.'qrtools.php', 39 | $QR_BASEDIR.'qrspec.php', 40 | $QR_BASEDIR.'qrimage.php', 41 | $QR_BASEDIR.'qrinput.php', 42 | $QR_BASEDIR.'qrbitstream.php', 43 | $QR_BASEDIR.'qrsplit.php', 44 | $QR_BASEDIR.'qrrscode.php', 45 | $QR_BASEDIR.'qrmask.php', 46 | $QR_BASEDIR.'qrencode.php' 47 | ); 48 | 49 | $headerFile = $QR_TOOLSDIR.'merged_header.php'; 50 | $versionFile = $QR_BASEDIR.'VERSION'; 51 | 52 | $outputCode = ''; 53 | 54 | foreach($fileList as $fileName) { 55 | $outputCode .= "\n\n".'//---- '.basename($fileName).' -----------------------------'."\n\n"; 56 | $anotherCode = file_get_contents($fileName); 57 | $anotherCode = preg_replace ('/^<\?php/', '', $anotherCode); 58 | $anotherCode = preg_replace ('/\?>\*$/', '', $anotherCode); 59 | $outputCode .= "\n\n".$anotherCode."\n\n"; 60 | } 61 | 62 | $versionDataEx = explode("\n", file_get_contents($versionFile)); 63 | 64 | $outputContents = file_get_contents($headerFile); 65 | $outputContents .= "\n\n/*\n * Version: ".trim($versionDataEx[0])."\n * Build: ".trim($versionDataEx[1])."\n */\n\n"; 66 | $outputContents .= $outputCode; 67 | 68 | file_put_contents($outputFile, $outputContents); 69 | 70 | -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/tools/merge.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | php ./merge.php -------------------------------------------------------------------------------- /modules/addons/oath/phpqrcode/tools/merged_config.php: -------------------------------------------------------------------------------- 1 | 20 | * 21 | * This library is free software; you can redistribute it and/or 22 | * modify it under the terms of the GNU Lesser General Public 23 | * License as published by the Free Software Foundation; either 24 | * version 3 of the License, or any later version. 25 | * 26 | * This library is distributed in the hope that it will be useful, 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 29 | * Lesser General Public License for more details. 30 | * 31 | * You should have received a copy of the GNU Lesser General Public 32 | * License along with this library; if not, write to the Free Software 33 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 34 | */ 35 | 36 | --------------------------------------------------------------------------------